在对织梦cmsDedeCMS的数据信息库开展实际操作以前,自然是先联接数据信息库了,mon.inc.php文档就可以。能够在网站网站根目录中建立一个test.php的文档来开展有关的检测实际操作,在这里个文档中载入以下的编码:
?php require_once (dirname(__FILE__) . /mon.inc.php print_r($dsql); ?
在访问器中运作以后,查询源码便可以获得以下图所显示的编码:
这一便说明大家早已取得成功联接数据信息库了,[dbHost],[dbUser]...这种全是数据信息库的有关信息内容,mon.inc.php內容,引进数据信息库类的情况下,默认设置就被建立了$dsql或是$db,因此立即引进配备文档便可以了。
接下去做一个简易的查寻实际操作,然后上边的编码大家再次写test.php文档,编码以下:
?php require_once (dirname(__FILE__) . /mon.inc.php if($dsql- IsTable( dede_test )){ //假如存有dede_test表 //------------------- //| 查寻一条纪录 | //| GetOne() | //------------------- // darr; $row = $dsql- GetOne( SELECT * FROM dede_test WHERE id = 3 print_r($row); } ?
这儿大家用了$dsql类的两个方式,IsTable()及其GetOne(),IsTable先来分辨这一表是不是存有,假如存有大家就再次实行,他回到的是一个bool值,假如存有为true不然就为false。
接下去分辨假如有这一表存有,则大家就实行查寻一条纪录的这一全过程,即GetOne,根据协助文本文档能够了解:$arr = $db- GetOne($sql);换句话说查寻的sql句子会传输回家一数量组,大家运作test.php见到以下运作結果:
Array [id] = 3 [name] = 第三个喽 )
这一表明大家查寻dede_test这一表id为3的数据信息取得成功了,回到了一个$row数字能量数组,在其中就储放了字段名的值。自然大家能够用echo $row[ name 或是$row[ id ]来輸出大家查寻出去的結果。
3.查寻数据信息库刚刚讲了查寻一条纪录,实际上这一查寻一条纪录能够了解为大家內容页查寻一一篇文章,仅仅获得一条纪录并将內容显示信息出去,但通常大家常常碰到的是查寻目录,及{dede:arclist/}或是{dede:list/},查寻目录得话涉及到到查寻好几条纪录。
再次改动test.php编码:
?php require_once (dirname(__FILE__) . /mon.inc.php if($dsql- IsTable( dede_test )){ //假如存有dede_test表 //------------------- //| 查寻一条纪录 | //| GetOne() | //------------------- // darr; $row = $dsql- GetOne( SELECT * FROM dede_test WHERE id = 3 echo 查寻id=3的纪录: br / 显示信息結果: print_r($row); //------------------- //| 查寻好几条纪录 | //| Execute() | //------------------- // darr; echo hr / 查寻dede_test表格中的全部纪录: br / 显示信息結果: br / $sql = SELECT * FROM dede_test $dsql- Execute( me ,$sql); while($arr = $dsql- GetArray( me )) { echo id = {$arr[ id ]} ,name = {$arr[ name ]} br / } } ?
运作test.php见到显示信息下列的內容:
查寻dede_test表格中的全部纪录: 显示信息結果: id = 1 ,name = 检测姓名1 id = 2 ,name = 它是第二个 id = 3 ,name = 第三个喽 id = 4 ,name = 第四个
这一表明大家早已取得成功将表dede_test中的数据信息輸出,自然关键是实行了哪个 SELECT * FROM dede_test ,它是一个非常简单的sql查寻句子,自然也可以够采用order by这种排列或是标准去查寻,详尽能够参照sql有关內容。
同时这儿必须表明的是这儿除开用$dsql- GetArray( me )来获得內容到数字能量数组,还能够用$dsql- GetObject( me )获得內容到目标,但是启用方式一些不一样,关键这儿根据$dbobj- fieldname来启用查寻出去的数据信息:
while($dbobj = $dsql- GetObject( me )) { echo id = {$dbobj- id} ,name = {$dbobj- name} br / }4.插进删掉实际操作数据信息库
上边大家详细介绍了怎样用dsql来查寻数据信息,关键有获得一条纪录和获得好几条纪录2种,接下去大家来啦解下应用dsql别的特点来为大家的test.php添加加上內容和删掉內容的作用。先来啦解下插进数据信息库的实际操作,大家先做一个表格,这一表格用以递交数据信息name的。表格编码以下:
hr / 用以递交数据信息的表格: br / form action= test.php type= post input type= hidden name= dopost value=jiaocheng/"save">
这儿大家用了一个掩藏域dopost来储放实际操作方式,键入框name用于储放键入数据信息,随后传送给当今网页页面,再开展解决,这时候候大家必须在test.php里加入一部分的表格解决实际操作:
//------------------- //| 表格解决全过程 | //| Save() | //------------------- // darr; empty($dopost)? : $dopost; if($dopost == save ){ //假如实行插进实际操作 $sql = INSERT INTO `dede_test` (`name`) VALUES ( {$name} ) $dsql- ExecuteNoneQuery($sql); //实行这一插进句子 $lastInsertID = $dsql- GetLastID(); //获得插进后的最终的ID,随后再发送给下一个网页页面 ShowMsg( 取得成功提升一条纪录內容! , test.php?id={$lastInsertID} exit(); }
这儿关键是一个INSERT INTO 句子,随后根据$dsql的ExecuteNoneQuery方式来实行这一实际操作,而且获得插进数据信息最终一个id再将其传送给下一个网页页面便于高亮度显示信息。大家能够在编写框中插进一总数据来检测下,看一下插进数据信息后的回到結果:
实际上删掉的实际操作也是这般,大家只必须略微做下改动便可以了,提升一个dopost实际操作为del的分辨,随后在显示信息数据信息后边提升一个超级链接接,将id以get方法开展传送.并最终开展解决。下边就是我们改动循环系统查寻輸出的一部分內容,有以下改动:
while($dbobj = $dsql- GetObject( me )) if($id==$dbobj- id){ //假如传送的id值和查寻值同样,则高亮度显示信息最终一条插进纪录 echo font color= red id = {$dbobj- id} ,name = {$dbobj- name} /font a href=jiaocheng/'test.php?dopost=del&id={$dbobj->id}'>[删掉]
";//这儿提升了一个删掉的超级链接接 }else{ echo "id = {$dbobj->id} ,name = {$dbobj->name} id}'>[删掉]
"; //下边是del这一post的分辨: empty($dopost)? "" : $dopost; if($dopost == "save"){ //假如实行插进实际操作 $sql = "INSERT INTO `dede_test` (`name`) VALUES ('{$name}')"; $dsql->ExecuteNoneQuery($sql); $lastInsertID = $dsql->GetLastID(); ShowMsg("取得成功提升一条纪录內容!","test.php?id={$lastInsertID}"); exit(); }elseif($dopost == "del"){ //假如dopost为del,则删掉数据信息 $id = isset($id) && is_numeric($id) ? $id : 0; $sql = "DELETE FROM `dede_test` WHERE (`id`='{$id}')"; $dsql->ExecuteNoneQuery($sql); ShowMsg("取得成功删掉一条纪录內容!","test.php"); exit(); }
之上便是织梦cmsDedeCMS数据信息库类实际操作的所有全过程,假如有模糊不清白的地区,能够去查询天崖论坛版主的全文,全文的详细地址以下:help/development/2009/。