Я ищу хороший способ настроить нумерацию страниц в моей форме поиска, я хочу, чтобы она отображала данные в зависимости от количества записей на странице, которую выбирает пользователь. Это значение они вводят под своим результатом поиска и получают через $_POST['searchamount']. Затем я попытался настроить простую разбивку на страницы, следуя некоторым руководствам, но у меня возникли проблемы, поскольку следующие страницы не будут работать для отображения каких-либо данных, я полагаю, это потому, что мой сценарий поиска требует, чтобы значение $_POST['search'] быть правдой означает, что кто-нибудь отправит форму, и при нажатии на цифры для прокрутки страниц результатов она просто перенаправит, например, на search.php?page=1. Как добавить дополнительный способ, чтобы он мог продолжить поиск, при этом сделав его безопасным?
Я читал в Интернете, что есть несколько крутых способов сделать это с помощью jQuery, я бы предпочел, чтобы он был таким, когда автоматически отображались следующие результаты, не покидая страницу.
Вот пример того, что я пробовал
<?php while($row = mysqli_fetch_array($result)): ?>
<tr>
<td><?php echo $row['FactionName'];?></td>
<td><?php echo $row['MoneyBalanceFormatted'];?></td>
<td><?php echo $row['SpawnerWorthFormatted'];?></td>
<td><?php echo $row['BlockWorthFormatted'];?></td>
<td><?php echo $row['ItemWorthFormatted'];?></td>
<td><?php echo $row['TotalWorthFormatted'];?></td>
<td><?php echo $row['RichestMember'];?></td>
</tr>
<?php endwhile;?>
<?php
$page_query = "SELECT * FROM ORDER BY TotalWorth DESC";
$page_result = mysqli_query($con, $page_query);
$total_records = mysqli_num_rows($page_result);
$total_pages = ceil($total_records/$record_per_page);
$start_loop = $page;
$difference = $total_pages - $page;
if($difference <= 5)
{
$start_loop = $total_pages - 5;
}
$end_loop = $start_loop + 4;
if($page > 1)
{
echo "<a href='search.php?page=1'>First</a>";
echo "<a href='search.php?page=".($page - 1)."'><<</a>";
}
for($i=$start_loop; $i<=$end_loop; $i++)
{
echo "<a href='search.php?page=".$i."'>".$i."</a>";
}
if($page <= $end_loop)
{
echo "<a href='search.php?page=".($page + 1)."'>>></a>";
echo "<a href='search.php?page=".$total_pages."'>Last</a>";
}
?>
Хотя мой пример вообще не работает должным образом, он даже отображает ошибку, когда mysqli_num_rows возвращает логическую ошибку.