Показать сообщение отдельно

  #3  
Старый 05.04.2010, 15:50
Ponchik
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
С нами: 10892546

Репутация: 2274


По умолчанию

Около часа сижу, голова болит >_<
немогу сделать постраничный вывод
Намер у нас 20 страниц, сейчас мы на 10, мне надо чтоб было вот так
1 | 2 | 3 | ... | 8 | 9 | [10] | 11 | 12 | ... | 18 | 19 | 20

Сделал вот так

PHP код:
<?php
function pagedView($all_pages,$now_page) {
    
$pages = array();
    
    for (
$i=1;$i<=$all_pages;$i++){
        if(
$i==$now_page) {
            
$pages[] = "<b>[$i]</b>";
        }else{
            
$pages[] = "<a href=\"?p=$i\">$i</a>";
        }
    }
    
    if((
$now_page-5) >= 3) {
        for (
$a=3;$a<=$now_page-5;$a++) {
            unset(
$pages[$a]);
        }
        
$pages[$a] = '...';
    }

    
#Вот сюда чёто надо
    
    
return implode(' | ',$pages);
}
echo 
pagedView(20,10);
?>
слева всё нереально хорошо работает, я шоке!
pagedView(20,7) = 1 | 2 | 3 | 4 | 5 | 6 | [7] | 8 | 9 | ...........
pagedView(20,8) = 1 | 2 | 3 | ... | 6 | 7 | [8] | 9 | 10 | .............
Мне имено так и надо!
Но вот справа я как не пытался сделать, ничерта не получается
Ктонить может осилить этот мозговой взрыв?
Вот так обрезается слева
PHP код:
    if(($now_page-5) >= 3) {
        for (
$a=3;$a<=$now_page-5;$a++) {
            unset(
$pages[$a]);
        }
        
$pages[$a] = '...';
    } 
справа надо наоборот сделать, но я немогу понять что тут наоборот менять Как не менял - нехочет, то ест нужные цифры, то 17 | 18 | ... |20
 
Ответить с цитированием