Как правильно сформировать запрос к базе

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

Аватар пользователя dasha dasha 9 июля 2008 в 11:08

Помогите пожалуйста! Сделала свой тип данных - news_library теперь хочу взять оттуда поля с помощью запроса в php коде (сам php знаю правда плохо):

<?php
$news = db_query("SELECT * FROM {node} WHERE type= 'news_library' ORDER BY `vid` DESC LIMIT 3");
while($item = db_fetch_object($news))
{
$title = $item->title;
$nid = $item->nid;

// выбрать содержимое
$news_content = db_query("SELECT * FROM {node_news_library} WHERE nid = %d", $nid);
$content = db_fetch_object($news_content);

$text = $content->body_lable;
print $text;
?>

Ничего не выводит. Подскажите в чем может быть проблема.

Комментарии

Аватар пользователя olk olk 9 июля 2008 в 11:23

Да вроде все правильно, единственное если связь 1-1 (1-0) правильней было б сделать запрос через join или left join
типа

SELECT n.*,nl.body_lable FROM {node} n LEFT JOIN {node_news_library} nl ON n.nid=nl.nid AND n.type='news_library' ORDER BY `vid` DESC LIMIT 3
Аватар пользователя neochief neochief 9 июля 2008 в 13:16

А что за таблица такая {node_news_library}? Контент нодов хранится в {node_revision}. Тем более, если вам нужно загрузить ноду, в большинстве случаев это лучше всего сделать через $node = node_load($nid);