Vetalich
Guest
Проблема с постраничным выводом
Всем доброго времени суток...
Тут такая проблема.
Нашёл я где-то в инете вот такой код постраничного вывода:
вроде считает правильно, выводит правильно, но вот выводит не всё, а только 11 записей... и то не как надо, а на каждой новой странице по одной новой записи...
не подскажите в чём тут ошибка?
Всем доброго времени суток...
Тут такая проблема.
Нашёл я где-то в инете вот такой код постраничного вывода:
PHP:
<?php
$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>");
function pages($num_all, $limit, $num_p)
{
if (isset ($_REQUEST["page"]))
{
$page=$_REQUEST["page"];
settype($page,"integer");
}
else
{
$page=1;
}
$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;
echo "<a href=\"$PHP_SELF?page=1\">««</a> <a href=\"$PHP_SELF?page=".$t."\">«</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)
{
print "<a href=\"$PHP_SELF?page=".$i."\">»</a> <a href=\"$PHP_SELF?page=".$n."\">»»</a>";
}
print "</center>";
}
print "Всего страниц: ".$n."<hr>";
if ($num_all>$limit)
{
$nop2=($page-1)*$limit;
if ($nop2>$num_all or $page<1)
{
print "Страница не существует";
}
}
}
//////Собственно вывод инфы.
$limit=5; //По сколько выводить
$co="30"; //Сколько всего
$fff="2"; //сколько ссылок со сторон... т.е если 2, то: < << 4,5 ,6, 7,8 > >>
$from = (isset($_REQUEST['page'])) ? (int)$_REQUEST['page'] : 0;
for ($i = $from; $i<$from+$limit; $i++)
{
echo $elements[$i];
}
pages($co, $limit, $fff);
?>
не подскажите в чём тут ошибка?