検索バーで検索しているときに、検索キー要素に基づいてページが表示されない場合は、コードキーを検索しているときに検索バーに表示されていて、まだテーブルに一致するページがありません
<?php
$total_num_page=2;
if (isset($_GET['page']))
{
$page_id = $_GET['page'];
}
else
{
$page_id = 1;
}
$search = '' ;
if(isset($_POST['search']))
{
$search = urldecode($_POST['search']);
}
else if(isset($_GET['search']))
{
$search = urldecode($_GET['search']);
}
if ($search)
{
$all_post_query = "select * from files where recieved_by like '%" . $search . "%' or processed_by like '%" . $search . "%' or purpose like '%" . $search . "%' or file_name like '%" . $_SESSION["search"] . "%' order by date desc";
$all_post_run = mysqli_query($con, $all_post_query);
$all_post = mysqli_num_rows($all_post_run);
$total_page = ceil($all_post/$total_num_page);
$page_start_from = ($page_id - 1) * $total_num_page;
}
else {
$all_post_query = "select * from files order by date desc";
$all_post_run = mysqli_query($con, $all_post_query);
$all_post = mysqli_num_rows($all_post_run);
$total_page = ceil($all_post/$total_num_page);
$page_start_from = ($page_id - 1) * $total_num_page;
}
?>
これはテーブルが
<?php
if ($search)
{
$p_query = "select * from files where recieved_by like '%$search%' or processed_by like '%$search%' or purpose like '%$search%' or file_name like '%$search%' order by date desc limit $page_start_from, $total_num_page";
}
else
{
$p_query = "select * from files order by date desc limit $page_start_from, $total_num_page";
}
$p_run=mysqli_query($con,$p_query);
if(mysqli_num_rows($p_run)){
while($row=mysqli_fetch_array($p_run))
{
$c_id=$row['id'];
$file=$row['file_name'];
$purpose=$row['purpose'];
$recieve=$row['recieved_by'];
$processed=$row['processed_by'];
$address=$row['address'];
$contact=$row['contact_no'];
$date=$row['date'];
?>
データをフェッチし、これはページネーションコード
<ul class="pagination">
<?php
$search_str = '';
if ($search) {
$search_str = "&search=" . urlencode($search);
}
for ($i = 1; $i <= $total_page; $i++)
echo "<li class='" . ($page_id == $i ? 'active' : '') . "'><a href='index.php?page=" . $i . $search_str . "'>$i</a></li>";
?>
</ul>
ある場所であります
これは、私が検索バーのキーを検索しているときに、そのページの総数が表示されていないページの総数が間違っている場合に表示される問題です。
私は、あなたがSESSIONではなくパラメータとしてurlにページnoを保持しておくことをお勧めします。 – tan
セッションが設定されていないかどうかを確認してください。 isset(session ['key'])関数を使用します。 –
@VimukthiGuruge、未設定の場所を教えてください。他のリンクをクリックすると、検索セッションを終了するか、更新する必要があります。 – Raj