1 Sql запрос для вывода данных листом и циклом
Имеется запрос в базу для вывода статей:
$result = $db->sql_query("SELECT * FROM ляля WHERE topic='$topic' ORDER BY $orderby limit $offset, $storynum"); мне нужно перед циклом: while ($row = $db->sql_fetchrow($result)) { узнать значение 2х данных, а именно мета (чтобы вставить в metakey) и название топика (чтобы вставить в титл на странице и в блок) Эти данные должны вставляються перед хедером и в цикле быть не могут. Но если я вывожу данные после запроса например так: $row = $db->sql_fetchrow($result); $metakey = filter($row['topicname'], "nohtml"); $topictext = filter($row['topictext'], "nohtml"); Или list(........$metakey, $topictext)= $db->sql_fetchrow($result); То в цикле не хватает одного поля, которое забрал лист. Т.е. если всего 5 записей, 1 запись идет на лист, а 4 на цикл. А нужно в цикле использовать все. Можно ли это сделать 1 запросом? Не хочется просто делать лишний запрос, ради того чтобы вставить метакей и титл. |
Alexander-V-Sh в мета тег нужно только первый запрос вывести или все??
можно сделать сл-им образом прогнать циклом всю выборку, но не выводить ее на экран, а загнать в массив какой-нибудь, затем произвести выборку от туда сколько нужно раз. |
Soniks
Запрос идет в топик, категории и сами статьи. Циклом вынимается все для отображения 10 стетей. Если отображаются все статьи, то мета и титл - статика (Статьи) А если topic !=0 (т.е мы просматриваем все статьи из какого то топика), то в мету идет topicname (бесполезное поле, я его под мету приспособил), а в титл топика идет topictext (Статьи - $topictext) А уже потом включить выводить хедер и 10 статей циклом. Массивы для меня кошмарный сон :) Вообще их не понимаю пока. Поэтому такой еще вопрос, хотя он относится больше к оптимизации. Запросы такого вида SELECT topicname, topictext FROM ".$prefix."_topics WHERE topicid='$new_topic' поидеи базу ниграма не должны нагружать. Выбрать 2 значения из таблицы, в которой всего 4 записи. |
|
Часовой пояс GMT +4, время: 20:44. |
Copyright © 2005 by Soniks