Illusive
Guest
Упреждающее чтение из mysql_query
Добрый день.
Такой вот вопрос возник.
Есть база такого, примерно, вида:
заголовок1|новость1
заголовок1|новость2
заголовок2|новость1
заголовок3|новость1
заголовок3|новость2
Есть код :
На выходе получается нечто типа
ЗАГОЛОВОК 1
новость 1
* * *
новость 2
* * *
ЗАГОЛОВОК 2
новость
* * *
Надо как-то считывать из $result следующую строку. чтобы определять, что идет в следующей строке - новость под текущим заголовком, или же будет новый раздел идти.
Чтобы эти "* * *" ставить только между новостями.
Либо, надо как-то
выполнять $row = mysql_fetch_array($result, MYSQL_ASSOC)
а потом откатывать счетчик в на одну позицию назад...
Можно, конечно, сделать иначе - создать отдельный справочник заголовков и в самой базе новостей выставлять только их коды. Потом в цикле перебрать заголовки и, если запрос в базе новостей по коду текущего заголовка чего-то возвращает, выподить новости.
Но это ж гемор. Куча лишних запросов к базе, снижение скорости вывода.
Добрый день.
Такой вот вопрос возник.
Есть база такого, примерно, вида:
заголовок1|новость1
заголовок1|новость2
заголовок2|новость1
заголовок3|новость1
заголовок3|новость2
Есть код :
PHP:
$pg_name="";
$result=mysql_query("SELECT * FROM local_news")
or die("Could not connect: " . mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{if ($pg_name<>$row['g_name']):
echo "<tr>..некий заголовок..</tr>";
$pg_name=$row['g_name'];
endif;
echo "<tr>...тело новости...</tr>";
echo "* * *<br>";
}
ЗАГОЛОВОК 1
новость 1
* * *
новость 2
* * *
ЗАГОЛОВОК 2
новость
* * *
Надо как-то считывать из $result следующую строку. чтобы определять, что идет в следующей строке - новость под текущим заголовком, или же будет новый раздел идти.
Чтобы эти "* * *" ставить только между новостями.
Либо, надо как-то
выполнять $row = mysql_fetch_array($result, MYSQL_ASSOC)
а потом откатывать счетчик в на одну позицию назад...
Можно, конечно, сделать иначе - создать отдельный справочник заголовков и в самой базе новостей выставлять только их коды. Потом в цикле перебрать заголовки и, если запрос в базе новостей по коду текущего заголовка чего-то возвращает, выподить новости.
Но это ж гемор. Куча лишних запросов к базе, снижение скорости вывода.