|
|
|
|
|
для: P@Sol
(28.09.2005 в 15:58)
| | Перечитывая статью еще раз, нашел пару замечаний.
Так сказать вторая редакция ))
>> 1а. почему общее кол-во сообщений находим по этой формуле?
Это выбор автора :)
>> 2. почему нет проверки на кол-во постов?
>> (наверно если выводить из бд, этой проблемы нет)
Там разобран пример, как раз рассчитанный на базу данных.
И это не главное. Я представил "скелет", и каждый сам решает, что туда следует добавить, а что убрать.
Нет предела совершенству :)
А теперь о том, что стоит поменять.
1. Кавычки, если можно из обратных в двойные переделать. А то при копировании могу быть глюки.
2. Строчку
while ( $postrow[] = mysql_fetch_array($result))
Заменить на
<?
while ( $row = mysql_fetch_array($result))
{
$postrow[] = $row;
}
?>
|
Так как последний элемент массива всегда будит пустым.
(
1.$postrow[] создали еще один элемент
2. Туда записалось false от от функции mysql_fetch_array
3. цикл завершился
)
3. В html коде заменить << и >> на их эквиваленты. | |
|
|
|
|
|
|
|
для: Loki
(28.09.2005 в 15:50)
| | 0 :) | |
|
|
|
|
|
|
|
для: P@Sol
(28.09.2005 в 15:17)
| | >почему нельзя сразу ceil($posts / $num)?
думаю, это защита на тот случай, если количество сообщений равно нулю. Сколько страниц при этом выведет ваше выражение?:) | |
|
|
|
|
|
|
| делал постраничную навигацию по вашей статье и возникло два вопроса
1а. почему общее кол-во сообщений находим по этой формуле?
<?
$total = intval(($posts - 1) / $num) + 1;
|
в частносте, почему $posts - 1?
1б. тестим
$posts=40;
$posts2=41;
$num=20;
$total = intval((40-1)/20) + 1 = 2,95 // получаем 2?
$total2 = intval((41-1)/20) + 1 = 3 // получаем 3
почему нельзя сразу ceil($posts / $num)?
2. почему нет проверки на кол-во постов?
если постов 25, а выводим по 20, то на второй странице выведет вместо 5 20 сообщений!
(наверно если выводить из бд, этой проблемы нет) | |
|
|
|
|