Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > постраничная навигация


Автор: krb 1.2.2012, 13:17
тема наверно уже избита, но все же. если страниц 20 то выводится "назад 1 2 3 4 5 6 7  ... и так до 20 вперед", как вывести "назад 1 2 3 4 5  вперед", нажимая на вперед получалось "назад 2 3 4 5 6  вперед" и тд.
Код


 $arr= explode("/",$str);

// кол-во новостей, статей и т.д. на странице
$perpage = "1";
$pages_count=$_TplParams['pages_count'];
function link_bar($page, $pages_count)
{
//$str=$_SERVER['REQUEST_URI'];
//echo $str;
    for ($j = 1; $j <= $pages_count; $j++) 
    {
        if ($j == $page) 
        {
            echo ' <b>'.$j.'</b> ';
        } 
        else 
        {
            echo "<b><a href=http://nnplus.ru".$_SERVER['REQUEST_URI']."/".$j." title='Перейти на следующую страницу'>".$j."</a></b>";
        }
        
        if ($j != $pages_count) echo '&nbsp;&nbsp;|&nbsp;&nbsp;';
    }
    return true;
}

if (empty($_GET['page']) || ($_GET['page'] <= 0)) 
{
    $page = 1;
} 
else 
{
    $page = (int) $_GET['page'];
}
$count = $pages_count;
$pages_count = ceil($count / $perpage);
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage;

//echo "<center><b>";
//link_bar($page, $pages_count);
//echo "</b></center>";

/******************************************************************/
echo "<center><b>";
 
      if(($page != 1) && ($page > 0) ){
            $back = $page - 1;
            echo '<b><a href="'.$_SERVER['PHP_SELF'].'?page='.$back.'">Назад&nbsp;</a></b>';}
            link_bar($page, $pages_count);
            
      if(($page + 1)<= $pages_count){
            $foward = $page + 1;
            echo '<b><a href="'.$_SERVER['PHP_SELF'].'?page='.$foward.'">&nbsp;Вперед</a></b>';}
            
echo "</b></center>";
/******************************************************************/
/*$sql_inquiry = mysql_query("SELECT * FROM Name_BD ORDER BY `id` DESC LIMIT $start_pos, $perpage") or die("error 2");
while ($answer = mysql_fetch_array($sql_inquiry)) 
{    
    // а тут сам вывод
    echo "&nbsp;".$answer['id']."&nbsp;\n";
}*/

Автор: krb 1.2.2012, 14:46
пардон, разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)