Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Навигация...

Сообщения:  [1-8] 

 
 автор: Binura   (01.08.2007 в 11:33)   письмо автору
 
   для: Trianon   (31.07.2007 в 23:51)
 

спасибо... то что нужно... =)

если не трудно расскажи как это все работает или дайте ссылки на описания.

   
 
 автор: 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 == || $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 == || $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 == '')? '' ' ... '));
?>


Она позволяет ходить как большими шагами, так и малыми, а места почти не занимает.

   
 
 автор: Binura   (31.07.2007 в 19:13)   письмо автору
 
   для: Trianon   (31.07.2007 в 18:34)
 

что-то не работаеть... даже не поняла как это работает...

   
 
 автор: Trianon   (31.07.2007 в 18:34)   письмо автору
 
   для: Binura   (31.07.2007 в 18:23)
 

<? $page $_GET['page']; $pages общее число страниц;
for(
$i =1$i <= $pages$i++)
 echo (
$i == || $i $pages || abs($i-$page) < 4)
     ?   (
$i == $page " <b>$i</b> " " <a href=?page=$i>$i</a> ")
     : 
" ... ";

   
 
 автор: Binura   (31.07.2007 в 18:23)   письмо автору
 
   для: 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<=|| $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

   
 
 автор: testdriver   (31.07.2007 в 17:01)   письмо автору
 
   для: Binura   (31.07.2007 в 16:11)
 

Если бы бала грамотно поставлена задача, было бы проще понять оптимально у вас это или нет, а так даже не совсем понятно, что вы вообще хотите добиться, ссылки на страницу вывести?!
P.S.
Если вас не затруднит ставьте пожалуйста <? и ?> в вашем коде а то читать трудно.

   
 
 автор: sim5   (31.07.2007 в 16:53)   письмо автору
 
   для: Binura   (31.07.2007 в 16:11)
 

Я не про оптимальность. Как так:


if($page>=4){echo"<a href=$SN>1</a> ";} 
if($page>4){echo" ... ";} 


В случае $page > 4, что же всетаки делать? Оно конечно выполнит оба подряд, но зачем мысля такая?

   
 
 автор: Binura   (31.07.2007 в 16:11)   письмо автору
 
 

вот, еле за 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>";}


вроде все работает...
но....
есть ли что-нибудь оптимальнее?

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования