Народ помогите доделать цикл!!!

[Удален]
485

Добрый вечер у меня есть не большая проблема я сделал цикл "do wile" и он вы глядит вот так:

$news = mysql_query ("SELECT id,zag,date,view,opi,cat FROM news WHERE cat='$cat' ORDER BY date DESC",$db);

if (!$news)

{

echo "<p>Запрос на выборку даных из базы не прошол. Напишите об этом админестратору <br><strong>Код ошибки:</strong></p>";

exit (mysql_error());

}

if (mysql_num_rows($news) > 0 )

{

$myrow = mysql_fetch_array ($news);

}

else

{

echo "<p>Информация по запросу не может быть извлечена в таблице нет записей!</p>";

exit ();

}

do {

printf ("<br><table width='570px' height='127px' border='0'>

<tr>

<td width='570px' height='38px' align='center' valign='middle' class='n' colspan='2'>%s</td>

</tr>

<tr>

<td height='58px' align='center' valign='top' class='sod' colspan='2'>%s</td>

</tr>

<tr>

<td height='23px' aligen='left' valign='middle' class='nn'><div class='nn'>Дата публикаций: %s </div><div class='nn' aligen='right'>Просмотров: %s</div></td>

<td width='100px' class='nn1' align='center'><a class='nn1' href='view.php?id=%s'>Далее...</a></td>

</tr>

</table><br>", $myrow["zag"],$myrow["opi"],$myrow["date"],$myrow["view"],$myrow["id"]);

}

while ($myrow = mysql_fetch_array ($news));

?>

так вот суть вопроса, допустим в таблице 1000 заметок они все в разной категорий от 1 и до 12 то есть категория 1 новости кат 2 еще что-то и так до двенадцати, так вот выбираем категорию к примеру 1 открывается страница с выбранной кат: как сделать что-бы на страницу выводилось по 10 заметок а в конце странице или в низу под новостями ссылка на следующие 10 в той-же категорий и так далее?

Помогите пожалуйста!!!

chemax
На сайте с 07.01.2009
Offline
206
#1

$news = mysql_query ("SELECT id,zag,date,view,opi,cat FROM news WHERE cat='$cat' ORDER BY date DESC limit 10",$db);

а в конце пиши еще один запрос

Качественный хостинг, VPS и сервера. (http://ihc.ru/?ref=569)
[Удален]
#2

А можно по подробней что за запрос писать в конце если не сложно!!!

Linkpusher
На сайте с 28.12.2007
Offline
176
#3
Клерек:
в низу под новостями ссылка на следующие 10 в той-же категорий и так далее?

SELECT SQL_CALC_FOUND_ROWS ...

$total = mysql_result(mysql_query("SELECT FOUND_ROWS()"), 0);

понимаете есть ли вообще следующие и выводите постранично, или просто "некст"

Точу ножи. Буквально. Есть отзывы. Заказать заточку в МСК и Подольске можно через Телеграмм.
[Удален]
#4

какое неуваженике к обитателям форума: форматируйте код. не ставьте больше одного восклицательного знака, вы не на рынке орете "эй дарагой, бери еда дешева!!!". топик больше похож на "помогите закончить школу!!!!"

SELECT SQL_CALC_FOUND_ROWS ... - самый говенный метод из всех известных. лучше использовать второй запрос на количество, который использует индексы, а не эту штуку :) хотя конечно еще зависит от расстановки оных.

Linkpusher
На сайте с 28.12.2007
Offline
176
#5

bearman, просто как вариант :) лень было вчитываться в старттоп и вникать чё там надо. по причинам, уже названым :)

а так, ессно - надо по задаче смотреть с мониторингом, согласен, способ не самый грациозный, особенно, если выборка по тяжеловесам идёт. но, типа, "официально одобренный" :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий