Как в друпале правильно выполнять SQL запросы?
пробую так
<?php
$result = db_query_range("SELECT users.uid AS uid,
users.name AS users_name,
og_uid.is_admin AS og_uid_is_admin,
og_uid.created AS og_uid_created
FROM shvabra_users users
LEFT JOIN shvabra_og_uid og_uid ON users.uid = og_uid.uid
LEFT JOIN shvabra_node node_og_uid ON og_uid.nid = node_og_uid.nid
WHERE (users.status <> 0) AND (og_uid.is_active <> 0) AND (og_uid.is_admin in ('0', '1')) AND (og_uid.nid = %d)
ORDER BY og_uid_created DESC", $node->nid);
while($nod = db_fetch_object($result)) {
print_r($nod, 1);
};
?>
ничего не выводит (((
Комментарии
Ну во первых db_query_range требует еще аргументов с какой записи и по какую выводить
db_query_range($query,$arg,$start_rec,$end_rec), в вашем варианте наверное надо надо использовать просто db_query,
про корректность самого запроса ни чего сказать не могу (не разбирался)
Ну и второе print_r со вторым аргументом равным TRUE (в вашим случае 1 == TRUE) ни чего не выводит а возвращает переменную содержащую контекст,
т.е вам надо сделать или print print_r($nod,1); либо print_r($nod);
Спасибо, получилось
А как сделать чтобы foreach выполнялся только 8 раз? (знаю что можно в запросе LIMIT поставить, но мне в другом месте также необходимо вывести все результаты запроса)
использовать FOR либо счетчик, по-другому — никак.
а когда выполниться условие как остновить foreach? brack поможет?
break, если быть точным.
Работает, спасибо!