db_select

Главные вкладки

Аватар пользователя Zorak Zorak 17 декабря 2013 в 1:56

Здраствуйте.
у меня есть класс, вот примерные из него 3 метода:

<?php
public function StartPage()
{
  
$ar $this -> GetData('параметр1');
  
$this -> ShowData($ar);

  

$ar $this -> GetData('параметр2');
  
$this -> ShowData($ar);

  

$ar $this -> GetData('параметр3');
  
$this -> ShowData($ar);
}

public function 

GetData($mode)
{
$query db_select('aa_rate''a_r')
   -> 
fields('a_r');
if (
$mode == 'параметр1')
$query -> condition('x''y''=');

if (

$mode == 'параметр2')
$query -> condition('a''b''=');

if (

$mode == 'параметр3')
$query -> condition('bb''aa''=');

$result $query -> extend('PagerDefault')
             -> 
limit(10)
         -> 
execute();
}

public function 

ShowData($ar)
{
// Чето там выводится из массива $ar который пришол

print theme('pager')
}
?>

И так, проблема в том что если приходит больше 10 значений, то выводится только первых 10, но нету номеров страниц.

Задача такова, что есть три параметра, по которым из базы тянется то или иное и передается в ShowData, но мне все результаты нужно вывести постранично, при чем сделать это нужно на одной ноде(странице). Возможно ли это и если да то в чем моя ошибка ?

З.Ы, Класс написанный мной, который подключается в ноде.

Спасибо.

Комментарии

Аватар пользователя Ujean Ujean 17 декабря 2013 в 22:48

Когда ты применил extend('PagerDefault') ты получил новый запрос, который ограничил количество записей в старом до limit(10).

Не очень понятно что ты хочешь получить в итоге, очень возможно что изобретаешь заново view.
В таком случае рекомендую использовать pager_default_initialize($total, $num_per_page); как в этом примере
https://api.drupal.org/api/drupal/includes%21pager.inc/function/pager_de...
и в конце просто отрисовать пейджер
$output .= theme('pager');

Аватар пользователя Zorak Zorak 18 декабря 2013 в 22:36

Хорошо, на словах, что мне надо: есть таблица данных в базе с некоторым количеством записей, которые постоянно пополняются. Все эти данные поделены на 4 группы. Соответственно имеются 4 разные условия запроса по выборке. Мне надо показать эти результаты на одной странице, разделенные по группам, при чем к каждой из групп данных нужно применить как бы постраничную навигацию (для того чтобы вывести всю таблицу. Это необходимо). То есть на одной странице надо чтобы было 4 разных навигации (до каждой из групп).