2013-08-08 1 views
0

Я сделал этот скрипт для своего сайта.Система разбиения на страницы

Это работает и все, но есть одна небольшая проблема.

Вы можете идти вперед бесконечно

Вы можете просто нажать Next Page в бесконечном цикле

И по какой-то причине, когда я эхо $ NUM_PAGES я получаю 1 0_0

Как я могу исправить " infinie nexting»- мое странное определение для этой проблемы :)

<?php 
    $per_page = 4; 
    $start = 1; 
    if(!isset($_GET['page'])) { 
    $page = 1; 
    } else { 
    $page = $_GET['page']; 
    } 
    if($page <= 1) { 
    $start = 1; 
    $page = 1; 
    } else { 
    $start = $page * $per_page - $per_page; 
    } 
    $next = $page+1; 
    $previous = $page-1; 
    $GetAllComments = $con->query("SELECT * FROM comments LIMIT $start, $per_page"); 
    $num_rows = $GetAllComments->num_rows; 
    $num_pages = $num_rows/$per_page; 
    while($GAC = $GetAllComments->fetch_object()) { 
    echo "<div class='well'> <h3>". $GAC->Title. "</h3> 
    ". $GAC->Content. " <hr /> <em> Posted By ". $GAC->PosterName ." </em> 
    </div>"; 
    } 
    $pagen = $page+1; 
    $pagep = $page-1; 
    echo " 
    <div class='pagination'> 
    <ul> 
    "; 
    if($page > 1) { 
    echo " 
    <li><a href='?page=$previous'>".$pagep."</a> </li> 
    "; 
    } 
    echo " 
    <li class='disabled'><a href='#'>$page</a></li> 
    "; 

    echo " 
    <li> <a href='?page=$next'>" . $pagen . "</a></li> 
    </ul> 
    </div> 
    "; 
+0

положить верхний предел стоимости вашего $ страницы переменной (так же, как вы добавили нижний предел здесь, если ($ страница <= 1) { $ начать = 1; $ стр = 1;) – Maximus2012

+0

Я попытался с if ($ page> = $ num_pages) {$ start = 1; $ page = 1;) Но не работает –

+0

Когда я делаю if ($ page> = $ num_pages) {$ start = 1; $ page = 1;} Он переходит только на вторую страницу, а затем не позволяет перейти к следующему –

ответ

0

Я бы поставил дисплей в цикле:

for($i = 1; $i <= $num_pages; $i++) 
{ 
    enter code here 
} 

Таким образом, он будет повторяться столько же страниц в num_pages и не больше.

+0

. У проблемы не было такой же проблемы :) – user1522901