Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Постраничный вывод из MySql


Автор: NZero 12.11.2014, 14:08
Код

include('../connect_db.php');
 
db_connect();
 
$quality=1;
$limit=3;
 
if(!is_numeric($page)) $page=1;
if($page<1) $page=1;
 
$result2 = mysql_query("SELECT * FROM article");
$rows=mysql_num_rows($result2);
 
$pages=ceil($rows/$quality);
$pages++;
 
if($page>$pages) $page=1;
 
if(!isset($list)) $list=0;
 
$list=--$page*$quality;
 
$select=mysql_query("SELECT * FROM article LIMIT $quality OFFSET $list");
mysql_close();
 
$row_offset=mysql_num_rows($select);
 
for($i=0; $i<$row_offset; $i++)
{
    $row=mysql_fetch_array($select);?>
    <script type="text/javascript" src="../js/jquery-1.11.1.min.js"></script>
    <?  echo '<div><img src="../' . $row['img'] . '" title="' . $row['title'] . '" style="float: left; margin-right: 10px;" /><h3>' . $row['title'] . 
            '</h3><br /><p>' . $row['content'] . '</p></div><br />';
}
 
if($page>=1)
{
    echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=1"><<</a> &nbsp;';
    echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . $page . '">< </a> &nbsp;';
}
 
$start=($page+1)-$limit;
$end=($page+1)+$limit;
 
for($j=1; $j<$pages; $j++)
{
    if($j>=$start && $j<=$end)
    {
        if($j==($page+1))
        {   echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . $j . '"><strong>' . $j . '</strong></a> &nbsp;'; }
        else
        {   echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . $j . '">' . $j . '</a> &nbsp;';}
    }
}
 
if($j>$page && ($page+2)<$j)
{
    echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . ($page+2) . '"> ></a> &nbsp;';
    echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?page=' . ($j-1) . '">>></a> &nbsp;';
}


Данные выводятся, но не переключаются страницы!

Автор: Aliance 12.11.2014, 16:01
Видимо потому, что у вас переменная $page нигде не задается. Видимо, подразумевается, что должен быть включен register globals, а это крайне не рекомендуется. Так что нужно в явном виде вначале скрипта прописать
Код
$page = $_GET['page'];


ПС: А зачем вы в цикле выводите подключение к библиотеке jQuery?  smile 

Автор: NZero 12.11.2014, 16:12
Aliance, Огромное спасибо!!!

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