Как сделать пагинацию в PHP?

1

Я пытаюсь сделать разбиение на страницы на PHP, все, кажется, работает, за исключением того, что следующие и предыдущие ссылки не работают, только когда я вручную вставляю номер страницы в URL-адрес, который отображает данные из базы данных на следующей странице,

Вот мой код:

Здесь я инициализировал perpage и страницу. Они находятся в начале страницы.

<?php                                
        $per_page=4;
        if (isset($_GET['page'])) {
                $page = $_GET['page'];
        }
        else {
                $page=1;

        } 
            $page;
            echo $start_from = ($page-1) * $per_page;
        //$search = $_POST['search'];

?>

И это для следующих и предыдущих ссылок, те, которые отображают результаты в зависимости от того, что пользователь хочет увидеть.

<?php                                
    $query = "select * from services";
    $result = mysqli_query($link, $query);                                
    $total_records = mysqli_num_rows($result);
    //Using ceil function to divide the total records on per page
    $total_pages = ceil($total_records / $per_page);
    $prev = $page - 1;
    if($page == 1){
            echo "<span align='right' class='inactive'>&larr; Prev</span>";
    }else{
            echo "<a href='livebands.php?page=$prev'><span class='paging-prev'>".'&larr; Prev'."</span></a>";
    }
    for ($i=1; $i<=2; $i++) {
            for ($i=1; $i<=$page; $i++) {
                    echo "<a href='livebands.php?page=$i'><span class='paging'>" .$i. "</span></a>";
            }                                        
    }
    $page++;
    if ($page>$total_pages){
        echo "<span align='right' class='inactive'>&rarr; Next</span>";
    }else{                                        
        echo "<a href='livebands.php?page=$page&per_page=$per_page'><span align='right' class='paging-next'>".'Next &rarr;'."</span></a>";
    }
?>
Теги:

1 ответ

1
Лучший ответ

Если я использую вам код и hardcode для переменной $ total_records, например, для ссылок, похоже, работает.

// $query = "select * from services";
// $result = mysqli_query($link, $query);                                
// $total_records = mysqli_num_rows($result);
$total_records = 5;

Вы уверены, что ваши $ total_records больше 4?

  • 0
    Спасибо ... но я нашел проблему, я просто изменил ссылки на? Page = "" вместо livebands.php? Page = "" ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню