Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Постраничный вывод

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Vetalich

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток...
Объясните пожалуйста как сделать какой нибудь вывод информации (из массива или из файла) при помощи вот этого примера:
 

Код:
 
<?php
 
    if (isset ($_REQUEST["page"]))
    {
    $page=$_REQUEST["page"];
    settype($page,"integer");
    }
    else
    {
    $page=1;
    }
 
    $num_p=4; //Сколько номеров будет показано слева и справа от текущей страницы.
    $num_all=1000; //Всего "чего-то"
    $limit=5; //"Чего-то" на одной странице
 
    $n=$num_all/$limit;
        if (!is_integer($n))
        {
        settype($n,"integer");
        $n++;
        }
            if ($n>1)
            {
            print "<center>";
            $start_p=$page-$num_p;
            $end_p=$page+$num_p;
                if ($end_p>$n)
                {
                $end_p=$n;
                }
            $start_p=$end_p-$num_p*2;
                    if ($start_p<1)
                    {
                    $start_p=1;
                    }
            $end_p=$start_p+$num_p*2;
                        if ($start_p>1)
                        {
                        $t=$start_p-1;
                        print "<a href=\"$PHP_SELF?page=1\">&#171;&#171;</a> <a href=\"$PHP_SELF?page=".$t."\">&#171;</a> ";
                        }
    for ($i=$start_p;$i<$end_p+1 && $i<$n+1;$i++)
    {
        if ($page!=$i)
        {
        print "<a href=\"$PHP_SELF?page=".$i."\">".$i."</a> ";
        }
        else
        {
        print "<a href=\"$PHP_SELF?page=".$i."\" style=\"color:#000000\"><b>".$i."</b></a> ";
        }
    }
                if ($end_p<$n)
                {
                $asd=$num_all/$limit;
                print "<a href=\"$PHP_SELF?page=".$i."\">&#187;</a> <a href=\"$PHP_SELF?page=".$asd."\">&#187;&#187;</a>";
                }
                print "</center>";
            }
    print "Всего страниц: ".$n."<hr>";
 
                    if ($num_all>$limit)
                    {
                    $nop2=($page-1)*$limit;
                        if ($nop2>$num_all or $page<1)
                        {
                        print "Страница не существует";
                        }
                    }
?>
 





Ты нас спрашиваешь вопрос ли это?
"Постраничный вывод. Вопрос?".. Исправил /Cheery/

Всего записей: 3 | Зарегистр. 21-07-2005 | Отправлено: 11:54 21-07-2005 | Исправлено: Cheery, 20:39 21-07-2005
Farkhad



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишем ф-ию:

Код:
 
function pages($num_all, $limit = 5, $num_p = 4) {
 
....
// убираем (закомментируем)
/*
$num_p=4; //Сколько номеров будет показано слева и справа от текущей страницы.  
$num_all=1000; //Всего "чего-то"  
$limit=5; //"Чего-то" на одной странице  
*/
...
}
 

 
Теперь как это юзать.
$elements = array(...);
pages(count($elements), 10);

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 12:23 21-07-2005
Vetalich

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нет... немного не так...
допустим есть массив :
 

Код:
 
$elements = array("1<BR>", "2<BR>", "3<BR>", "4<BR>", "5<BR>", "6<BR>", "7<BR>", "8<BR>", "9<BR>","10<BR>", "11<BR>", "12<BR>", "13<BR>", "14<BR>", "15<BR>", "16<BR>", "17<BR>", "18<BR>", "19<BR>", "20<BR>", "21<BR>", "22<BR>", "23<BR>", "24<BR>", "25<BR>", "26<BR>", "27<BR>", "28<BR>", "29<BR>", "30<BR>");  
 

 
мне надо чтоб на страницу постранично выводился массив... т.е
 
1
2
3
4
5
 
---следующая страница---
 
6
7
8
9
10
 
и т.д...
 
т.е сейчас только выводится циферки на эти страницы... а самой информации нет...

Всего записей: 3 | Зарегистр. 21-07-2005 | Отправлено: 13:13 21-07-2005 | Исправлено: Vetalich, 16:06 21-07-2005
Farkhad



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
$limit = 10;
$from = (isset($_REQUEST['page'])) ? (int)$_REQUEST['page'] : 0;
for ($i = $from; $i<$from+$limit; $i++) {
echo $elements[$i];
}
pages(count($elements), $limit);
 
PS: отредактируйте ваш массив чтобы страница не уродовалась (данная страница форума);)

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 15:31 21-07-2005
Vetalich

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо... всё работает...

Всего записей: 3 | Зарегистр. 21-07-2005 | Отправлено: 20:19 21-07-2005
Farkhad



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vetalich
Еще бы не работало =)

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 21:08 21-07-2005
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Постраничный вывод


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru