drupal7 数据库操作,查询

 

database API:https://drupal.org/node/310069

文章来源:http://www.cuitu.net/book/di-wu-zhang-shu-ju-ku-cao-zuo

 

测试文件:

<?php
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);
//单值
$nbr_records = db_query("SELECT count(`nid`) FROM `node`")->fetchField();
print_r($nbr_records);
echo "<br>";
//多值
$type = 'page';
$status = 1;
$result = db_query("SELECT nid, title FROM {node} WHERE type = :type AND status = :status", array(
  ':type' => $type, ':status' => 1,
));
foreach ($result as $row) {
   echo $row->title."<br/>";
}


//获取指定范围的记录
$query = db_select('node', 'n');
$query
  ->condition('type', 'page')
  ->fields('n', array('title'))
  ->range(0,100);
 
$result = $query->execute();
foreach($result as $row) {
    echo $row->title."<br/>";
}

 

//其他

第一个例子是结果集进行排序。使用OrderBy方法,您可以对结果集进行排序。例如结果按 title 字段升序排序。
 

$query 
  ->condition('type', 'page') 
  ->fields('n', array('title')) 
  ->orderBy('title', 'ASC'); 

下一个例子是先按节点修改日期(changed)降序排序,然后按标题(title)升序排序。

$query 
  ->condition('type', 'page') 
  ->fields('n', array('title', 'changed')) 
  ->orderBy('changed', 'DESC') 
  ->orderBy('title', 'ASC');

有的查询可能有重复的记录。在这种情况下,可以使用 distinct 方法将重复的记录过滤掉。

$query 
  ->condition('type', 'page') 
  ->fields('n', array('title', 'changed')) 
  ->orderBy('changed', 'DESC') 
  ->orderBy('title', 'ASC') 
  ->distinct()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值