Показать сообщение отдельно
Старый 24.07.2003, 12:00     # 5
d0rM03D
::VIP::
 
Аватар для d0rM03D
 
Регистрация: 14.11.2001
Адрес: In dA HAus
Сообщения: 1 007

d0rM03D Нимб уже пробиваетсяd0rM03D Нимб уже пробивается
Вчера, пока не прочитал ваши предложения придумал свое решение с помощью функции:
Цитата:
mysql_Result($result,$i,field)
Msql_Result отображает поле из возвращенной записи. Параметры - идентификатор результата, возвращенный функцией msql(), целое число, которое является индексом записи, которую нужно просмотреть и имя поля.
Однако оно доволно запутанно, поэтому хочу спосить, какой из данных отрывков кода будет функционировать быстрее
Это с помощью вашего запроса:
PHP код:
$request "SELECT ntext, ntitle, date_format(ndate,'%e.%m.%y') as ndate1 FROM news"/*Вынемаемвсю таблицу*/
$result mysql_query($request);
$strnum=((mysql_numrows($result))-(10*$archivepage+3)); /*Такая уж у меня замысловатая формула формирования строки от которой происходит начало отсчета*/
$request "SELECT ntext, ntitle, date_format(ndate,'%e.%m.%y') FROM news LIMIT $strnum, 10"
$result mysql_query($request);
if (!
mysql_error()) {
/*Цикл вынимающий строку, как массив с числовым индексом*/
while ($row mysql_fetch_row($result)) {
    print (
"$row[1].$row[2].$row[0]);
    }
}
else {
print ("
Ошибка БД с запросе".$request. "MySQL пишет ". mysql_error());} 
Это мой вариант:
PHP код:
$request "SELECT ntext, ntitle, date_format(ndate,\'%e.%m.%y\') as ndate1 FROM news ORDER BY ndate DESC"/*Также приодиться вынимать всю таблицу*/
$result mysql_query($request);
if (!
mysql_error()) {
for (
$i=0;$i<=9;$i++) {/*Цикл вынимающий 10 строк начиная со $strnum*/
$strnum=((mysql_numrows($result))-$i-(10*($archivepage-1)+3));
print (
mysql_Result($result,$strnum,1).mysql_Result($result,$strnum,2).mysql_Result($result,$strnum,0));
if (
$strnum==0) {break;} /*При достижение начала таблице цикл прервется*/
}
else {
print (
"Ошибка БД с запросе".$request"MySQL пишет "mysql_error());}

Во втором варианте еще хорошо, что когда цикл достигнет начала базы то перестанет выводить строки на экран.
В первом же варианте плохо, что вывод идет вниз по таблице начиная с определенной строчки и если вывод начать с несуществующей строки, то ничего не выйдет. Так будет при выводе последних записей.
Я уже сам запутался.

Кстати, как проверить за сколько сгенерировалась страница? Я тогда сам и посмотрю что быстрее...
d0rM03D вне форума