Getting Error while running this code , and this is related to when search key is coming in search filter its making pagination correct but after clicking second page its lost the content of search filter and start showing normal index pagination , May be this error is generation when i am using like clause in query-
if(isset($_POST['submitSearch'])){
$_session['$search']=$_POST['search'];
$all_post_query= "select * from files where recieved_by like '% $_session["$search"]%' or processed_by like '% $_session["$search"]%' or purpose like '% $_session["$search"]%' or file_name like '% $_session["$search"]%' order by date desc";
$con=mysqli_connect("localhost","root","","fileprogramsysteeem");
$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;
}
Someone help me please , i am new in php
check code :
if(isset($_POST['submitSearch']))
{
$_session['$search'] = $_POST['search'];
$all_post_query= "select * from files where recieved_by like '%$_SESSION[$search]%' or processed_by like '% $_SESSION[$search]%' or purpose like '%$_SESSION[$search]%' or file_name like '%$_SESSION[$search]%' order by date desc";
$con=mysqli_connect("localhost","root","","fileprogramsysteeem");
$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;
}
Most likely your problem is in the pagination itself. Your code takes $_POST parameter as search query, but when you click on pagination link, you create a new GET request and the search parameter is lost. You are saving the search parameter in session , so you need to alter your code:
if(isset($_POST['submitSearch']) || $_SESSION['search'])
{
if($_POST['submitSearch']){
$_SESSION['search']=$_POST['search'];
}
$all_post_query= "select * from files where recieved_by like '%". $_SESSION["search"]. "%' or processed_by like '%".$_SESSION["search"]."%' or purpose like '%".$_SESSION["search"]."%' or file_name like '%".$_SESSION["search"]."%' order by date desc";
$con=mysqli_connect("localhost","root","","fileprogramsysteeem");
$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;
}
Also i've changed the way you create your session variable:
$_session["$search"] -> $_SESSION["search"]
remove white space
after %
%$_SESSION["$search"]% //remove wite space
in your query
and write $_session to $_SESSION
so your query like below
"select * from files where recieved_by like '%$_SESSION["$search"]%' or processed_by like '% $_session["$search"]%' or purpose like '%$_SESSION["$search"]%' or file_name like '%$_SESSION["$search"]%' order by date desc";
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.