Здравствуйте, друзья!
Помощи прошу вашей вот по какому вопросу(весь код описывать не буду, только основное):
Есть записи в базе, и я вывожу эти записи на страницу по n штук, все с этим ок, но есть задача сделать постраничную навигацию по этим записям, например, на странице 1 записи 1-10, а на странице 2 соответственно 11-20...
Так вот, я нашел код, и более-менее разобрался в нем, но не совсем.
Ссылки эти выводятся на 6 штук (например если я на странице 10, то я вижу рядом смежные ссылки, т.е. 9 и 11), а мне надо, что бы выводились все возможное количество страниц, т.е. если у меня 5 страниц, то я должен видеть 1 2 3 4 5, а не 1 2 3 ... как я получаю в ходе этого кода:
PHP:
скопировать код в буфер обмена
$database = "database" ; $table = "users" ; $users_on_page = "1"; $total = ceil($count[0 ]/$users_on_page); if(empty($_GET["p"])){$_GET["p"] = "1" ;} $p = $_GET["p"] ; endif; $first = $p*$users_on_page-$users_on_page ; $result=mysql_query("select * from `$table` ORDER BY id DESC limit $first, $users_on_page") ; print $data[0].' ' ; print $data[1].' ' ; print $data[2].'<br>' ; print $data[3].'<br><br>' ; } if($total>1): #две назад print "<br><div>"; if(($p-2)>0): $ptwoleft="<a href='index.php?p=".($p-2)."'>".($p-2)."</a> "; else: $ptwoleft=null; endif; #одна назад if(($p-1)>0): $poneleft="<a href='index.php?p=".($p-1)."'>".($p-1)."</a> "; $ptemp=($p-1); else: $poneleft=null; $ptemp=null; endif; #две вперед if(($p+2)<=$total): $ptworight=" <a href='index.php?p=".($p+2)."'>".($p+2)."</a>"; else: $ptworight=null; endif; #одна вперед if(($p+1)<=$total): $poneright=" <a href='index.php?p=".($p+1)."'>".($p+1)."</a>"; $ptemp2=($p+1); else: $poneright=null; $ptemp2=null; endif; # в начало if($p!=1 && $ptemp!=1 && $ptemp!=2): $prevp="<a href='index.php'><<</a> "; else: $prevp=null; endif; #в конец (последняя) if($p!=$total && $ptemp2!=($total-1) && $ptemp2!=$total): $nextp=" ... <a href='index.php?p=".$total."'".$total."' >$total</a>"; else: $nextp=null; endif; // здесь текущая страница выделяется жирным print "<br>".$prevp.$ptwoleft.$poneleft.'<span><b>'.$p.'</b></span>'.$poneright.$ptworight.$nextp; print "</div>"; endif;
Как выводить $p? Подскажите пожалуйста!(Отредактировано автором: 07 Сентября, 2015 - 23:59:15)
|