Pagination с PHP и MYSQL с помощью Boostrap

У меня есть много данных в моей базе данных (с изображениями, описаниями и так далее), что не разумно оставлять на одной странице.
Как сделать разбиение на страницы с помощью php, mysql и bootstrap?

Введите описание изображения здесь

 <?php

    $query = "SELECT Title, Painter_Name, Description, Year, Image FROM paintings, painters WHERE painters.ID = paintings.Painter_ID";

        $query_run = mysqli_query($connection, $query);

        while($row = mysqli_fetch_assoc($query_run)) {
      $title = $row['Title'];
      $painter = $row['Painter_Name'];
      $description = $row['Description'];
      $image = $row['Image'];
      $year = $row['Year'];
    ?>

      <div id="contatiner">

    <?php
      echo "
      <div class="row">
        <div class="offset-sm-2 col-sm-8 offset-sm-2"> 
            <div class="card">
              <div class="card-block">
                <h4 class="card-title text-sm-center">$title ($year)</h4>
                <h6 class="card-subtitle text-sm-center text-muted">$painter</h6>
              </div>
              <p class="text-sm-center"><img style="width:300px; height:300px;" src="$image" alt="Card image"></p>
              <div class="card-block">
                <p class="card-text text-sm-center">$description</p>
                <p class="text-sm-center"><a href="#" class="card-link">Add to favorites</a></p>
              </div>
            </div>
        </div>
      </div>
         ";
        }
    ?>
    </div>

<nav class="text-xs-center">
    <ul class="pagination">
        <li class="page-item">
            <a href="#" class="page-link" aria-label="Previous">
                <span aria-hidden="true">&laquo;</span>
                <span class="sr-only">Previous</span>
            </a>
        </li>
        <li class="page-item"><a class="page-link" href="#">1</a></li>
        <li class="page-item"><a class="page-link" href="#">2</a></li>
        <li class="page-item"><a class="page-link" href="#">3</a></li>
        <li class="page-item"><a class="page-link" href="#">4</a></li>
        <li class="page-item"><a class="page-link" href="#">5</a></li>
        <li class="page-item">
            <a href="#" class="page-link" aria-label="Next">
                <span aria-hidden="true">&raquo;</span>
                <span class="sr-only">Next</span>
            </a>
        </li>
    </ul>
</nav>

Я просматривал интернет и даже сейчас не знаю, с чего начать…

Заранее спасибо!

1 ответ

  1. Вы можете запросить с ограничением и смещением: https://dev.mysql.com/doc/refman/5.5/en/select.html

    При использовании двух аргументов первый аргумент указывает смещение первой возвращаемой строки, а второй-максимальное число возвращаемых строк. Смещение исходной строки равно 0 (не 1):

    SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15

    Например, страница 1 имеет смещение 0, ограничение 10, и на каждой странице вы увеличиваете смещение и ограничение на 10 (или что угодно).

    Вы можете дать идентификатор страницы с $_GET var, или использовать другой стиль; MVC или получить часть url.