资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php动态切换数据库 php调用动态库

thinkphp对数据库操作有哪些内置函数

8.4.4 Model类

10余年的民勤网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整民勤建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“民勤网站设计”,“民勤网站推广”以来,每个客户项目都认真落实执行。

getModelName() 获取当前Model的名称

getTableName() 获取当前Model的数据表名称

switchModel(type,vars=array()) 动态切换模型

table() 设置当前操作的数据表

field() 设置要查询的数据字段

where() 设置查询或者操作条件

data(data) 设置数据对象

order(order) 设置排序

limit(limit) 查询限制

page(page) 查询分页

join(join) 进行JOIN查询

having(having) 进行having查询

group(group) 进行group查询

lock(lock) 查询锁定

distinct(distinct) 唯一性查询

count(field) 记录统计

sum(field) 总数查询

min(field) 最小值查询

max(field) 最大值查询

avg(field) 平均值查询

_initialize() 模型初始化方法

_facade(data) 对保存到数据库的数据进行处理

_before_write(data) 写入数据前的回调方法 包括新增和更新

add(data='',options=array()) 新增数据

_before_insert(data,options) 写入数据前的回调方法

_after_insert(data,options) 写入数据后的回调方法

selectAdd(fields='',table='',options=array()) 通过Select方式添加记录

save(data='',options=array()) 更新数据到数据库

_before_update(data,options) 更新数据前的回调方法

_after_update(data,options) 更新成功后的回调方法

delete(options=array()) 删除数据

_after_delete(data,options) 删除成功后的回调方法

select(options=array()) 查询数据集

_after_select(resultSet,options) 查询成功后的回调方法

findAll(options=array()) select方法的别名

_options_filter(options) 表达式过滤回调方法

find(options=array()) 查询数据

_after_find(result,options) 查询成功的回调方法

setField(field,value,condition='') 设置记录的某个字段值

setInc(field,condition='',step=1) 字段值增长

setDec(field,condition='',step=1) 字段值减少

getField(field,condition='',sepa=' ') 获取某个字段值

create(data='',type='') 创建数据对象

autoCheckToken(data) 表单令牌验证

query(sql) 执行原生SQL查询

execute(sql='') 执行原生SQL操作

startTrans() 启动事务

commit() 提交事务

rollback() 事务回滚

getError() 获取模型的错误信息

getDbError() 获取数据库的错误信息

getLastInsID() 获取最后执行的SQL语句

getPk() 获取主键名称

getDbFields() 获取数据表的字段信息

regex(value,rule) 使用正则验证数据

setProperty(name,value) 设置模型的属性值

2.1版新增方法:

db(linkNum,config='') 切换当前数据库连接

高级模型类AdvModel

topN(count,options=array()) 查询满足条件的前N个记录

getN(position=0,options=array()) 查询符合条件的第N条记录

0 表示第一条记录 -1 表示最后一条记录

first(options=array()) 获取满足条件的第一条记录

last(options=array()) 获取满足条件的最后一条记录

returnResult(data,type='') 返回指定的数据类型

setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延迟增长

setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延迟减少

addConnect(config,linkNum=NULL) 增加数据库连接

delConnect(linkNum) 删除数据库连接

closeConnect(linkNum) 关闭数据库连接

switchConnect(linkNum,name='') 切换数据库连接

patchQuery(sql=array()) 批处理执行SQL语句

getPartitionTableName(data=array()) 得到分表的的数据表名

如何使用drupal直接操作postgres数据库?

Drupal是主流的CMS系统之一。因此具备Drupal技能的开发人员有很多。

考虑这样的情况,如果你有一个现有的非Drupal系统,然后有一个Drupal开发团队,你希望这个Drupal团队帮你扩展应用。

那么这个时候,Drupal应用就应该设计成是支持多数据库的。

在Drupal中使用多数据,也很简单。

1、首先在配置文件(Settings.php)中把默认的数据库配置项改成数组形式:

?php

$db_url['default'] = 'mysql://drupal:drupal@localhost/drupal';

$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';

?

注意这里的数据库格式必须是一样的。即不能一个是mysql,另外一个是pgsql。

而且默认的必须是drupal自己的数据库。

2、然后在程序中动态切换:

?php

global $db_url; // 数据库链接的内部变量

if (!is_array($db_url)) {

$default_db = $db_url;

$db_url = array('default' = $default_db);

}

//也可以动态设置新的数据库,这里注释掉,因为我们已经写在配置项中

//$db_url['jigo'] = 'mysql://user:pwd@localhost/jigo';

db_set_active('jigo'); // activation execution same as explained above

$results = db_query($sql); //sql represents the query to be executed

db_set_active('default'); // set back to original

?

regards,

iefreer

php 一个页面有好几个radio按钮,怎么实现radio按钮切换,检索条件部分跟在动态切换。

这个是需要用JS来实现的,就类似tap选项卡的效果。下面是找的一个例子,和你想要的效果一样

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

titleRadio切换效果/title

style

*{margin:0;padding:0;}

body{margin:50px;font-size:12px;color:#666;}

li{list-style:none;}

div{width:210px;}#tab1,#tab2{width:398px;height:34px;border:1px#cfedff solid;border-bottom:0;background:url(images/title.gif)repeat-x;}#tab1 ul,#tab2 ul{margin:0;padding:0;}#tab1 li,#tab2 li{float:left;padding:0 30px;height:34px;line-height:34px;text-align:center;border-right:1px#ebf7ff solid;cursor:pointer;}#tab1 li.now,#tab2 li.now{color:#5299c4;background:#fff;font-weight:bold;}.tablist{width:378px;height:100px;padding:10px;font-size:14px;line-height:24px;border:1px#cfedff solid;border-top:0;display:none;}.block{display:block;}

fieldset{width:378px;border:1px#B0C0D1 solid;padding:10px;}

legend{background:#B0C0D1;padding:4px 10px;color:#fff;}#c{margin-top:10px;}.c1,.c2{width:378px;line-height:20px;}.c1{color:#014CC9;}.c2{color:#7E6095;}

h3{font-size:16px;padding:5px 0;}.red{color:#BD0A01;}

/style

/head

body

h1Radio切换/h1

script type="text/javascript"

function radioShow() {

var myradio = document.getElementsByName("myradio");

var div = document.getElementById("c").getElementsByTagName("div");

for (i = 0; i  div.length; i++) {

if (myradio[i].checked) {

div[i].style.display = "block";

} else {

div[i].style.display = "none";

}

}

}

/script

form name="ck"

fieldset

legendI'm Radio/legend

h3请选择:/h3

label for="r1" class="red"

input name="myradio" id="r1" type="radio" value="" checked="checked" onclick="radioShow();" /XML教程/label

label for="r2" class="red"

input name="myradio" id="r2" type="radio" value="" onclick="radioShow();" /浏览器脚本/label

div id="c"

div class="c1"

label for="xml"

input name="c2" type="checkbox" id="xml" value="" /XML/label

label for="dtd"

input name="c2" id="dtd" type="checkbox" value="" /DTD/label

label for="xmldom"

input name="c2" id="xmldom" type="checkbox" value="" /XML DOM/label

label for="xsl"

input name="c2" id="xsl" type="checkbox" value="" /XSL/label

label for="xslt"

input name="c2" id="xslt" type="checkbox" value="" /XSLT/label

label for="xslfo"

input name="c2" id="xslfo" type="checkbox" value="" /XSL-FO/label

label for="xpath"

input name="c2" id="xpath" type="checkbox" value="" /XPath/label

label for="xquery"

input name="c2" id="xquery" type="checkbox" value="" /XQuery/label

label for="xlink"

input name="c2" id="xlink" type="checkbox" value="" /XLink /label

label for="xpointer"

input name="c2" id="xpointer" type="checkbox" value="" /XPointer/label

label for="schema"

input name="c2" id="schema" type="checkbox" value="" /Schema/label

label for="xforms"

input name="c2" id="xforms" type="checkbox" value="" /XForms/label

/div

div class="c2" style="display:none;"

label for="js"

input name="c3" id="js" type="checkbox" value="" /JavaScript/label

label for="hd"

input name="c3" id="hd" type="checkbox" value="" /HTML DOM/label

label for="dhtml"

input name="c3" id="dhtml" type="checkbox" value="" /DHTML/label

label for="vbs"

input name="c3" id="vbs" type="checkbox" value="" /VBScript/label

label for="ajax"

input name="c3" id="ajax" type="checkbox" value="" /AJAX/label

label for="e4x"

input name="c3" id="e4x" type="checkbox" value="" /E4X/label

label for="wml"

input name="c3" id="wml" type="checkbox" value="" /WMLScript/label

/div

/div

/fieldset

/form

/body

/html


文章标题:php动态切换数据库 php调用动态库
文章分享:http://cdkjz.cn/article/dddspje.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220