|
|
|
|
|
для: Trianon
(31.07.2007 в 23:51)
| | спасибо... то что нужно... =)
если не трудно расскажи как это все работает или дайте ссылки на описания. | |
|
|
|
|
|
|
|
для: Binura
(31.07.2007 в 19:13)
| | и вправду поспешил.
<?php $page = $_GET['page']; $pages = 200; $spot = 5;
for($pr = '', $i =1; $i <= $pages; $i++)
echo $pr=(($i == 1 || $i == $pages || abs($i-$page) < (($spot+1)>>1))
? ($i == $page ? " <b>$i</b> " : " <a href=?page=$i>$i</a> ")
: (($pr == ' ... ' || $pr == '')? '' : ' ... '));
?>
|
Вот такая шкала мне нравится больше:
<?php $page = $_GET['page']; $pages = 200; $spot = 3;
for($pr = '', $i =1; $i <= $pages; $i++)
echo $pr=(($i == 1 || $i == $pages || abs($i-$page) < (($spot+1)>>1)
|| $i==($page>>1) || $i==($pages-(($pages-$page)>>1)) )
? ($i == $page ? " <b>$i</b> " : " <a href=?page=$i>$i</a> ")
: (($pr == ' ... ' || $pr == '')? '' : ' ... '));
?>
|
Она позволяет ходить как большими шагами, так и малыми, а места почти не занимает. | |
|
|
|
|
|
|
|
для: Trianon
(31.07.2007 в 18:34)
| | что-то не работаеть... даже не поняла как это работает... | |
|
|
|
|
|
|
|
для: Binura
(31.07.2007 в 18:23)
| |
<? $page = $_GET['page']; $pages = общее число страниц;
for($i =1; $i <= $pages; $i++)
echo ($i == 1 || $i = $pages || abs($i-$page) < 4)
? ($i == $page ? " <b>$i</b> " : " <a href=?page=$i>$i</a> ")
: " ... ";
|
| |
|
|
|
|
|
|
|
для: testdriver
(31.07.2007 в 17:01)
| |
<?
if($page>=4){echo"<a href=$SN>1</a> ";}
if($page>4){echo" ... ";}
for($i=$page-2;$i<=$page+2;$i++)
{
if($i<=0 || $i>$pages)continue;
if($i==$page){echo $page; continue;}
echo "<a href=$SN?page=$i>$i</a> ";
}
if($page<$pages-3){echo"...";}
if($page<=$pages-3){echo"<a href=$SN?page=$pages>$pages</a>";}
?>
|
я хочу сделать навигацию....
например:
всего 1000 записей.
на страницу 10 записей,
это 100 страниц.
если юзер будет на 50 странице, то
будет такой вид:
1 ... 48 49 50 51 52 ... 100 | |
|
|
|
|
|
|
|
для: Binura
(31.07.2007 в 16:11)
| | Если бы бала грамотно поставлена задача, было бы проще понять оптимально у вас это или нет, а так даже не совсем понятно, что вы вообще хотите добиться, ссылки на страницу вывести?!
P.S.
Если вас не затруднит ставьте пожалуйста <? и ?> в вашем коде а то читать трудно. | |
|
|
|
|
|
|
|
для: Binura
(31.07.2007 в 16:11)
| | Я не про оптимальность. Как так:
if($page>=4){echo"<a href=$SN>1</a> ";}
if($page>4){echo" ... ";}
|
В случае $page > 4, что же всетаки делать? Оно конечно выполнит оба подряд, но зачем мысля такая? | |
|
|
|
|
|
|
| вот, еле за 2часа сделала:
if($page>=4){echo"<a href=$SN>1</a> ";}
if($page>4){echo" ... ";}
for($i=$page-2;$i<=$page+2;$i++)
{
if($i<=0 || $i>$pages)continue;
if($i==$page){echo $page; continue;}
echo "<a href=$SN?page=$i>$i</a> ";
}
if($page<$pages-3){echo"...";}
if($page<=$pages-3){echo"<a href=$SN?page=$pages>$pages</a>";}
|
вроде все работает...
но....
есть ли что-нибудь оптимальнее? | |
|
|
|
|