Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   PHP&MySQL (http://forum.mynuke.ru/forumdisplay.php?f=21)
-   -   1 Sql запрос для вывода данных листом и циклом (http://forum.mynuke.ru/showthread.php?t=2174)

Alexander-V-Sh 03.08.2006 17:31

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 запросом? Не хочется просто делать лишний запрос, ради того чтобы вставить метакей и титл.

Soniks 04.08.2006 13:45

Alexander-V-Sh в мета тег нужно только первый запрос вывести или все??

можно сделать сл-им образом прогнать циклом всю выборку, но не выводить ее на экран, а загнать в массив какой-нибудь, затем произвести выборку от туда сколько нужно раз.

Alexander-V-Sh 04.08.2006 14:19

Soniks
Цитата в мета тег нужно только первый запрос вывести или все??

Запрос идет в топик, категории и сами статьи. Циклом вынимается все для отображения 10 стетей.
Если отображаются все статьи, то мета и титл - статика (Статьи)
А если topic !=0 (т.е мы просматриваем все статьи из какого то топика), то в мету идет topicname (бесполезное поле, я его под мету приспособил), а в титл топика идет topictext (Статьи - $topictext)
А уже потом включить выводить хедер и 10 статей циклом.

Массивы для меня кошмарный сон :) Вообще их не понимаю пока.
Поэтому такой еще вопрос, хотя он относится больше к оптимизации.
Запросы такого вида
SELECT topicname, topictext FROM ".$prefix."_topics WHERE topicid='$new_topic'
поидеи базу ниграма не должны нагружать. Выбрать 2 значения из таблицы, в которой всего 4 записи.

lufaleks 06.08.2006 22:22

SQL. Полное руководство


Часовой пояс GMT +4, время: 20:44.

Copyright © 2005 by Soniks