Использование db_query

Простой выбор значений из таблицы

<?php
  $result
= db_query('SELECT name FROM {role} WHERE rid = :rid', array(':rid' => 2));
  foreach (
$result as $row) {
    echo
$row->name."<br/>";
  }
?>

 

Выбор из одной таблицы. Возвращаем одно значение, на примере получения статистики просмотров ноды

<?php
$nid
= 4;

$count = db_query("SELECT totalcount FROM {node_counter} WHERE nid = :nid",array(
         
':nid' => $nid,))->fetchField();

print
$count;
?>

 

Выбор из нескольких таблиц. Возвращаем число в результате выборки из нескольких таблиц. Одно значение

<?php
$count
= db_query('SELECT count(ti.tid) FROM {taxonomy_index} ti INNER JOIN {node} n ON ti.nid = n.nid WHERE n.type = :nodetype AND ti.tid = :tid',array(':nodetype'=>'nedvigimost',':tid' => $tid))->fetchField();
?>

 

Выборка с использованием Query Builder, функция db_select

Простой выбор. Результат - имя роли (роль = 2)

<?php
$query
= db_select('role', 'n')
  ->
condition('rid', 2)
  ->
fields('n', array('name'));
$result = $query->execute();

foreach(
$result as $row) {
  echo
$row->name . "<br/>";
}
?>

 

Ограничени результатов выборки

<?php
  $query
= db_select('node', 'nd');
 
$query
   
->condition('type', 'page')
    ->
fields('nd', array('title'))
    ->
range(0,10);
   
$result = $query->execute();

  foreach(
$result as $row) {
    echo
$row->title . "<br/>";
  }
?>

 

Выбор из одной таблицы. Выбираем значения из таблицы сгруппированные по полю

<?php
  $query
= db_select('autosms_newsinglenodes', 'newsingle');
 
$query
   
->fields('newsingle', array('nid','operation'))
    ->
groupBy('newsingle.operation');
 
$result = $query->execute();
 
  foreach (
$result as $row) {
  }
?>

Ключевые слова: