Помогите разобраться вот с этим...

monk

Новичок
Помогите разобраться вот с этим...

Для меня это видать еще пока трудновато, вот сейчас сидел голову ломал, ломал, а что толку, если есть моменты в этой части скрипта, которые я пока не понимаю. А если есть хоть одина строчка, которую не можешь разобрать, то нет смысла пробовать модернизировать что-то в скрипте...Вот я так и не решился...Думаю может для спеца это не проблема. Прошу о спецпомощи по этому вот делу...
Что имеем. Часть скрипта, который работает с mySQL:
$all_count = count($db_result);

$sites_count = $all_count;
$na_stranice = ceil($sites_count/$page_limit);
if (!$nfrom) $nfrom = 0;
for ($i=0; $i<$na_stranice; $i++) {
$page_number=$i*$page_limit;
if ($page_number!=$nfrom) {$pages_links = $pages_links."|<a href='cat.php?nfrom=".$page_number."'>".($i+1)."</a>|";}
else {$pages_links = $pages_links."(".($i+1).")";}
}
$nto = $nfrom+$page_limit;
if ($nto>$sites_count) $nto=$sites_count;

for ($i=$nfrom;$i<$nto;$i++) {
$url = $db_result[$i][1];
$description = $db_result[$i][2];
$date = $db_result[$i][3];
$views = $db_result[$i][4];
$today = $db_result[$i][5];
print ($i+1).". <a href=\"".$url."\">".$description."</a><br/>";

Что нужно:
нужно, чтобы из базы вытаскивал значения, распределял их по $page_limit на странице в порядке убывания по значению $views или $today и давал прокрутку вперед, назад
Вот этот вот момент самый для меня труднопонимающийся: if ($page_number!=$nfrom) {$pages_links = $pages_links."|<a href='cat.php?nfrom=".$page_number."'>".($i+1)."</a>|";}
else {$pages_links = $pages_links."(".($i+1).")";}
Если кто может его прокоментировать по "русски", прокоментируйте плиз.
Надеюсь понятнои изложил.
Буду очень благодарен за помощь.
 

Gas

может по одной?
Если не текущая страница то вывести её номер с ссылкой, иначе просто номер.
 

monk

Новичок
register_globals = off это что-то вроде этого:

if(!$_COOKIE['nfrom']){
$nfrom = 0;

Так все же как сделать ссылки в виде вперед назад вместо 1(2)(3)(4)(5)...
 

Фанат

oncle terrible
Команда форума
monk
давай попробуем?
допустим, у тебяы на странице выводиятся записи, начиная с пятидесятой.
с какой записи должна начинаться страница назад?
а с какой записи должна начинаться страница вперед?
 

monk

Новичок
Надо задать $page_number как $page_number-1 и $page_number+1 ?
Или еще подумать?
 

monk

Новичок
Фанат, не получается у меня с БД дельного ничего
Вот это же, работающее с readdir к базе не привяжестся:
if (!isset( $p)) $d='1'; else {$d = $p; }
if($d == '1') print ''; else {$z = $d-1; print '<a href="cat.php?p='.$z.'">назад </a>';}
if(isset($s)) print ''; else {$d = $d+1; print '<a href="cat.php?p='.$d.'"> следующие 20</a>';}

Помоги еще чем-нибудь.
 

Фанат

oncle terrible
Команда форума
ответь сначала на один вопрос.
ты понимаешь смысл этих строчек?
 

monk

Новичок
Запускается скрипт , смотрит p неопределено, значит присваивает d=1
Далее т.к. d=1 не выводит ссылку назад
затем если s не определена (нет файлов) ничего не выводит, иначе выдает ссылку которая будет увеличивать значение p и d на еденицу
 

monk

Новичок
На $sites_count что ли тогда?

-~{}~ 19.11.04 22:13:

Не не, не на это, извиняюсь, туплю

-~{}~ 19.11.04 22:16:

На $page_limit ?
 

monk

Новичок
Может как нибудь можно вот это организовать:
if (!$str) {$i=1;}else {$i=$str;}

if (!$str) {print '';} else {$q=$str-1; print '<a href="cat.php?str='.$q.'">назад</a><br/>';}
if ($sites_count<=$page_limit) {print '';} else {$w=$str+1;print '<a href="cat.php?str='.$w.'">вперед</a>';}
Только вот как каждой следующей переменнной $i предать по $page_limit
вот этих вот: $url
$description
$date
$views
$today
???
 

Фанат

oncle terrible
Команда форума
а зачем их передавать?
их же и так есть в скрипте?
 

monk

Новичок
Может я не очень корректно излагаю, но думаю вы меня поймете.

-~{}~ 20.11.04 13:41:

Т.е. можно вот это использовать, только в нужном месте?
 

monk

Новичок
Он работает, и меняет $str какнужно (+1..., -1...), и те же значения присваиваются $i, но он не перелистывает ссылки по $page_limit

-~{}~ 20.11.04 16:29:

Спасибо огромное Фанат, у меня все получилось:
if (!$str) {$nfrom=0;} else {$nfrom=$str*$page_limit;}

if (!$str) {$prev = '';} else {$q=$str-1; $prev = '<a href="cat.php?str='.$q.'">назад</a><br/>';}
if ($sites_count<=$page_limit or $total_pages<$nfrom) {$next = '';} else {$w=$str+1;$next = '<a href="cat.php?str='.$w.'">вперед('.$page_limit.')</a>';}
 
Сверху