Продвижение

Продающий сайт

партнерские программы

Страницы, содержащие db_rewrite_sql

db_rewrite_sql($query, $primary_table = 'n', $primary_field = 'nid', $args = array()) Изменяет первоначальные запросы нод, таксономии и комментариев. Часто используется для формирования списков запросов. Вместо синтаксиса FROM table1, table2 используйте JOIN Параметры $query Запрос, который будет перезаписан. $primary_table Имя или псевдоним таблицы, которая имеет первичный ключ для этого запроса. Хотя обычные имена таблиц такие: '{blocks}', '{comments}', '{forum}', '{node}', '{menu}', '{term_data}' или '{vocabulary}'. Но не смотря на это, обычно используются псевдонимы таблиц, например: 'b', 'c', 'f', 'n', 'm', 't' или 'v'. $primary_field Имя основного поля. $args Массив аргументов, которые передаются реализациями хука hook_db_rewrite_sql(). Возвращаемое значение Исходный запрос с конструкциями JOIN и WHERE и со вставками из хука hook_db_rewrite_sql().Например вывести полное содержание всех книг (book) на сайте в виде иерархии: function book_toc_recursive($bid, $pid) { $sql = "SELECT a.mlid, b.link_path, b.link_title FROM {book} a INNER JOIN {menu_links} b ON a.mlid = b.mlid WHERE (a.bid=%d) AND (b.plid=%d) order by a.mlid"; $result = db_query(db_rewrite_sql($sql), $bid, $pid); if ($result) { print "
    "; while ($data = db_fetch_object($result)) { print "
  • " . l($data->link_title, $data->link_path) . "
  • "; book_toc_recursive($bid, $data->mlid); } print "
"; } } $all_books=book_get_books(); foreach ($all_books as $book_id=>$link) { book_toc_recursive($book_id, 0); }

Подписка

RSS-материал


Яндекс.Метрика