вынимать каждый раз всю таблицу? чувак, да у тебя база шлёпнется при хоть сколько-то значительной нагрузке как котёнок с двадцатого этажа, даже и не мявкнет.
во первых. правильно узнать количество записей с минимальной затратой времени и ресурсов можно так:
PHP код:
$request = "SELECT count(id) FROM news";
$result = mysql_query($request);
$total = mysql_result($result, 0);
топаем дальше. насколько я понял тебе нужна система навигации между страничками, показывая десять записей на страничку. проще всего это делается примерно так:
PHP код:
$archivepage = (!empty($archivepage)) ? $archivepage : 0; // номер странички
$offset = $archivepage * 10; // умножаем номер странички на количество записей на страничке чтобы получить начальную строку.
$sql = "SELECT ntext, ntitle, date_format(ndate,'%e.%m.%y') as ndate1 FROM news LIMIT $offset,10"; // опять даём количество записей на страничке
$result = mysql_query($sql) or die(mysql_error()); // посылаем запрос, убиваем скрипт в случае ошибки, показывая ошибку.
while($row = mysql_fetch_row($result))
{
print ($row[1].$row[2].$row[0]);
}
// теперь заботимся о навигации
// используем переменную total успешно добытую так как я показал раньше.
if($archivepage > 0)
{
echo '<a href="archive.php?archivepage='.($archivepage-1).'" title="Previous 10 records">Previous 10</a>';
}
if((($archivepage+1)*10) <= $total)
{
echo '<a href="archive.php?archivepage='.($archivepage+1).'" title="Next 10 records">Next 10</a>';
}
по крайней мере мне показалось что ты именно это пытаешься сделать из твоего кода... или нет?