Следующий предидущий

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

Аватар пользователя disart disart 31 июля 2012 в 0:51

Доброго времени суток, многоувожаемое сообщество. есть вопрос. На сайте реализованы ссылки на следующий и предидущий материал типа:

$next_nid = db_query("
SELECT nid FROM {node}
WHERE created < :created AND type = :type AND status = 1
ORDER BY created DESC
LIMIT 1"
,
array(':created' => $node->created,':type' => $node->type))->fetchObject();
if($next_nid) {
return '/'.drupal_get_path_alias('node/'.$next_nid->nid);
}
else {
return false;
}

то есть: есть две функции которые через выборку из базы получают следующую и предидущую ноду (по дате создания) с таким же типом.

Вопрос: Подскажите, как усложнить запрос, чтоб получить следующую/предущую ноды такого же типа + с таким же значением поля *field_my_field* как у текущей ноды

За раннее спасибо за помощ

Комментарии

Аватар пользователя emzzy emzzy 31 июля 2012 в 13:20

1. Используйте PDO-синткасис при работе с базой данных. Сейчас он де-факто стандарт.
2. Используйте join. В вашем случае <?phpinnerJoin()?> - чтобы объеденить таблицу с полем *field_my_field*
3. Используйте условия. Метод <?phpwhere()?> для того, чтобы указать нужные условия(тип и значение поля)