У меня на странице есть вывод записей из бд. Внизу есть пагинация. Мне необходимо, чтобы на одной странице , выводило по 3 записи. На данный момент на каждой странице выводятся все записи и они повторяются. Как мне объединить механизм пагинации с механизмом вывода элементов из базы на страницу?
//Тут в переменную я получаю общее кол-во строк в базе.
$countString = mysqli_stmt_num_rows($stmt);
//.................................... Pagination -->
/* Входные параметры */
$count_pages = $countString;
$active = $_GET['page'];
if($_GET['page']==null) $active = 1;
$count_show_pages = 3;
$url = "/index.php";
$url_page = "/index.php?page=";
if ($count_pages > 1) { // Всё это только если количество страниц больше 1
$left = $active - 1;
$right = $count_pages - $active;
if ($left < floor($count_show_pages / 2)) $start = 1;
else $start = $active - floor($count_show_pages / 2);
$end = $start + $count_show_pages - 1;
if ($end > $count_pages) {
$start -= ($end - $count_pages);
$end = $count_pages;
if ($start < 1) $start = 1;
}
?>
<!-- Дальше идёт вывод Pagination -->
<div id="pagination">
<span>Страницы: </span>
<?php if ($active != 1) { ?>
<a href="<?=$url?>" title="Первая страница"><<<</a>
<a href="<?php if ($active == 2) { ?><?=$url?><?php } else { ?><?=$url_page.($active - 1)?><?php } ?>" title="Предыдущая страница"><</a>
<?php } ?>
<?php for ($i = $start; $i <= $end; $i++) { ?>
<?php if ($i == $active) { ?><span><?=$i?></span><?php } else { ?><a href="<?php if ($i == 1) { ?><?=$url?><?php } else { ?><?=$url_page.$i?><?php } ?>"><?=$i?></a><?php } ?>
<?php } ?>
<?php if ($active != $count_pages) { ?>
<a href="<?=$url_page.($active + 1)?>" title="Следующая страница">></a>
<a href="<?=$url_page.$count_pages?>" title="Последняя страница">>>></a>
<?php } ?>
</div>
<?php } ?>
<!-- END Pagination -->
//Вывод на страницу элементов:
if (mysqli_multi_query($link, $query)) {
do {
/* получаем первый результирующий набор */
if ($result = mysqli_store_result($link)) {
while ($row = mysqli_fetch_row($result)) {
// тут выводит столбцы из таблицы
?> <div style="border-style:groove; width:300px;"> <?
printf("<div style='float:left'> %s </div>", $row[0]);
printf("<div style='float:right'> %s </div>", $row[4]);
printf("<br>");
printf("<br>");
printf("<br>");
printf("%s", $row[1]);
printf("<br>");
?></div> <?
}
mysqli_free_result($result);
}
/* печатаем разделитель */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));
}