首頁 後端開發 php教程 drupal7中基本的数据库操作实例详解

drupal7中基本的数据库操作实例详解

Jun 03, 2017 am 09:52 AM

drupal是用数据库来存网站内容的,不像静态页那样直接是html文件,Drupal 7 数据库API增加了一些新的功能让语法更加清晰,使用也更加方便。它还能使用查询生成器来构造查询对象的能力,无需在代码中写原始的SQL语句,一是提高了代码可阅读性,二是兼容所有数据库。下面就列罗出一些经常使用的技巧,可能不够全面,还请大家多多补充。

1. 单表查询(最基本使用方法)

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/>$result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;contact&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;c&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">) </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//选择表contact,名一个别名c<br/></span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fields</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'c'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">) </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//查询c表中的字段,后面不跟参数就是查询所有<br></span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">()  </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//执行操作<br></span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fetchAssoc</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//处理结果集<br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

2. 条件查询(condition)

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/> $result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;node&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;n&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)<br/> -></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fields</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)<br>    -></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">5</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'='</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)  </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//nid等于5的条件<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'status'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">0</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'>'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">) </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 状态大于0,也就是为真等于1<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'uid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, array(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">1</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">5</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">7</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">),</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'IN'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">) </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//使用IN操作,当然还可以使用 NOT IN<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">()<br>    -></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fetchAssoc</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">();<br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

3. 联合查询(Join)

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/>$query </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;field_data_field_slide&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;f&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//主表<br/><br/></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">join</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'node'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fa.entity_id = n.nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 联合node表,条件是nid<br><br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'f.field_slide_channel_tid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$chanid</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'='</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br><br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n.status'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'1'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'='</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);  </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//发布状态<br><br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fields</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,array(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">));  </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//查询nid<br><br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">orderBy</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n.nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'DESC'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//排序条件<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">range</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">0</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">4</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//取得4条数据<br><br>   </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">();<br>   </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

4.添加字段(addField)

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/> $query </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;taxonomy_term_hierarchy&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;h&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//选择表<br/> </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">join</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'taxonomy_term_data'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'d'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'h.tid = d.tid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 联合查询<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">addField</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'d'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'tid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 添加字段<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'h.parent'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">0</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 添加条件where <br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'d.vid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$vid</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 再添加一个条件 and ....<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">addTag</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'ditusearch_generate_path'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">// 添加Tag 可选项,这个就是方便其他地方可以改变这   个查询$query 比如如果添加了tag 可以使用 hook_query_alter 对其进行查询 如果你使用过views开发,views 也可以了类似的hook<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$tid </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">()-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fetchCol</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">();<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

5.分页使用(pager)

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/> $query </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;node&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;n&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)<br/> -></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'type'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'article'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)<br>      -></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fields</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">extend</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'PagerDefault'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">limit</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">2</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//limit条件是分页数目<br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">();<br>  foreach(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">as </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$res</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">){<br>     </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$output </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">.= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$res</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">title</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">;<br>   }<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$output </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">.= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">theme</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">‘pager’</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//添加分页theme<br>    </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">Return </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$output</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">; <br>    </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

6.多表联合分页

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><?php<br/> $query </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">db_select</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;field_data_field_news&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">&#39;fa&#39;</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">)-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">extend</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'PagerDefault'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); </span><span style="margin:0px; padding:0px; color:rgb(255,128,0)">//多表联合查询extend条件必须放在db_select之后<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">join</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'node'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fa.entity_id = n.nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">join</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'field_data_field_news_date_sort'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fb'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, </span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fa.entity_id = fb.entity_id'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">fields</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">, array(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'nid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'title'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">));<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fa.field_news_classify_tid'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$tids</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'in'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); <br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n.type'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'news'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'='</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">); <br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">condition</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'n.status'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'1'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'='</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);     <br><br></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">orderBy</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'fb.field_news_date_sort_value'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">,</span><span style="margin:0px; padding:0px; color:rgb(221,0,0)">'DESC'</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br><br>  </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">limit</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">(</span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">14</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">);<br><br>   </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$result </span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">= </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">$query</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">-></span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">execute</span><span style="margin:0px; padding:0px; color:rgb(0,119,0)">();<br>   </span><span style="margin:0px; padding:0px; color:rgb(0,0,187)">?></span></span>

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><br></span></span>

<span style="margin:0px; padding:0px; color:rgb(0,0,0)"><span style="margin:0px; padding:0px; color:rgb(0,0,187)"><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">function </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">_module_name_autocomplete</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$string</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">) {<br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$matches </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">= array();<br>  <br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(255,128,0)">// Some fantasy DB table which holds cities<br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$query </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">= </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">db_select</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'cities'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">, </span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'c'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">);<br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(255,128,0)">// Select rows that match the string<br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$return </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">= </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$query<br>    </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">-></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">fields</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'c'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">, array(</span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'city'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">))<br>    -></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">condition</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'c.city'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">, </span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'%' </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">. </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">db_like</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$string</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">) . </span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'%'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">, </span><span style="font-family:monospace; font-size:14px; color:rgb(221,0,0)">'LIKE'</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">)<br>    -></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">range</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">0</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">, </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">10</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">)<br>    -></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">execute</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">();<br>  <br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(255,128,0)">// add matches to $matches  <br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">foreach (</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$return </span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">as </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$row</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">) {<br>    </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$matches</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">[</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$row</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">-></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">city</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">] = </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">check_plain</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$row</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">-></span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">city</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">);<br>  }<br>  <br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(255,128,0)">// return for JS<br>  </span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">drupal_json_output</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">(</span><span style="font-family:monospace; font-size:14px; color:rgb(0,0,187)">$matches</span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">); </span><span style="font-family:monospace; font-size:14px; color:rgb(255,128,0)">//--json格式返回<br></span><span style="font-family:monospace; font-size:14px; color:rgb(0,119,0)">}</span></span></span>

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

php如何使用CodeIgniter4框架? php如何使用CodeIgniter4框架? May 31, 2023 pm 02:51 PM

PHP是一種非常流行的程式語言,而CodeIgniter4是一種常用的PHP框架。在開發Web應用程式時,使用框架是非常有幫助的,它可以加速開發過程、提高程式碼品質、降低維護成本。本文將介紹如何使用CodeIgniter4框架。安裝CodeIgniter4框架CodeIgniter4框架可以從官方網站(https://codeigniter.com/)下載。下

如何使用寶塔面板進行MySQL管理 如何使用寶塔面板進行MySQL管理 Jun 21, 2023 am 09:44 AM

寶塔面板是一種功能強大的面板軟體,它可以幫助我們快速部署、管理和監控伺服器,尤其是經常需要進行網站搭建、資料庫管理以及伺服器維護的小型企業或個人用戶。在這些任務中,MySQL資料庫管理在許多情況下都是一個重要的工作。那麼如何使用寶塔面板進行MySQL管理呢?接下來,我們將逐步介紹。第一步:安裝寶塔面板在開始使用寶塔面板進行MySQL管理之前,首先需要先安裝寶塔面

如何使用PHP腳本在Linux環境下進行資料庫操作 如何使用PHP腳本在Linux環境下進行資料庫操作 Oct 05, 2023 pm 03:48 PM

如何使用PHP在Linux環境下進行資料庫操作在現代web應用程式中,資料庫是必不可少的組成部分。 PHP是一種流行的伺服器端腳本語言,它可以與各種資料庫互動。本文將介紹如何在Linux環境下使用PHP腳本進行資料庫操作,並提供一些具體的程式碼範例。步驟1:安裝必要的軟體和依賴項在開始之前,我們需要確保在Linux環境下安裝了PHP和相關的依賴項。通常情況下

如何使用thinkorm來提高資料庫操作效率 如何使用thinkorm來提高資料庫操作效率 Jul 28, 2023 pm 03:21 PM

如何使用thinkorm來提高資料庫操作效率隨著互聯網的迅速發展,越來越多的應用程式需要進行大量的資料庫操作。在這個過程中,資料庫操作的效率問題就變得特別重要。為了提高資料庫操作效率,我們可以使用thinkorm這個強大的ORM框架來進行資料庫操作。本文將介紹如何使用thinkorm來提高資料庫操作效率,並透過程式碼範例來說明。一、什麼是thinkormthi

MySQL中如何使用FULL OUTER JOIN函數取得兩個表的並集 MySQL中如何使用FULL OUTER JOIN函數取得兩個表的並集 Jul 26, 2023 pm 05:45 PM

MySQL中如何使用FULLOUTERJOIN函數取得兩個表的並集在MySQL中,FULLOUTERJOIN函數是一種融合內連接和外連接的功能強大的連接操作。它可以用來取得兩個表的並集,即將兩個表中的所有資料合併為一個結果集。本文將介紹FULLOUTERJOIN函數的用法,並提供一些範例程式碼以幫助讀者更好地理解。 FULLOUTERJOIN函數

使用PDO進行資料庫操作:PHP的一個更好的方式 使用PDO進行資料庫操作:PHP的一個更好的方式 Jun 21, 2023 pm 01:36 PM

使用PDO進行資料庫操作:PHP的一個更好的方式在Web開發中,使用資料庫進行資料儲存、管理和查詢是非常常見的。而PHP作為一種廣泛應用於Web開發的語言,自然也提供了豐富的資料庫操作方式。在PHP中,可以使用MySQLi、PDO以及其他擴充程式庫來進行資料庫操作。其中,PDO是一種非常常用的資料庫操作方式,相較於其他方式有較多的優點。本文將介紹什麼是PDO,以

如何在Symfony框架中使用Doctrine ORM進行資料庫操作 如何在Symfony框架中使用Doctrine ORM進行資料庫操作 Jul 29, 2023 pm 04:13 PM

如何在Symfony框架中使用DoctrineORM進行資料庫操作引言:Symfony框架是一個流行的PHP框架,它提供了許多強大的工具和元件,用於快速而簡單地建立Web應用程式。其中一個關鍵的元件是DoctrineORM,它提供了一種優雅的方式來處理資料庫操作。本文將詳細介紹在Symfony框架中如何使用DoctrineORM來進行資料庫操作。我們將

PHP後台設計:資料庫操作與資料互動實踐 PHP後台設計:資料庫操作與資料互動實踐 Jan 19, 2024 am 10:31 AM

在開發一個網站、應用程式或系統時,資料庫的操作和資料的互動是必不可少的。而PHP作為一種常用的後台開發語言,其資料庫操作和資料互動能力也是非常強大的。本文將介紹一些PHP常用的資料庫操作函數以及資料互動的實務。同時,我們將結合程式碼範例來講解這些操作和實踐,方便讀者更好地理解和應用。一、資料庫連接在進行資料庫操作前,首先需要連接到資料庫。在PHP中,我們可以使用

See all articles