Olga93
Новичок
Делаю постраничную навигацию через PHP + MySQL и Ajax без перезагрузки страницы. Нужно сделать чтобы текущая страница сохранялась в куки (COOKIES) и загружалась после обновление страницы.
Например я перешла на страницу 2 она сохранилась. Потом я нажимаю обновить кнопка в браузере и страница обновляется но показывается вторая страница..
Без COOKIES код работает вот так:
C COOKIES начинаются проблемы. Пример ниже.
Как сделать сохранение по COOKIES?
Вот мой код index.php
Код получение данный через AJAX и PHP pagination.php.
Например я перешла на страницу 2 она сохранилась. Потом я нажимаю обновить кнопка в браузере и страница обновляется но показывается вторая страница..
Без COOKIES код работает вот так:

C COOKIES начинаются проблемы. Пример ниже.

Как сделать сохранение по COOKIES?
Вот мой код index.php
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Webslesson Tutorial | Make Pagination using Jquery, PHP, Ajax and MySQL</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
</head>
<body>
<br /><br />
<div class="container">
<h3 align="center">Make Pagination using Jquery, PHP, Ajax and MySQL</h3><br />
<div class="table-responsive" id="pagination_data">
</div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
load_data();
function load_data(page)
{
$.ajax({
url:"pagination.php",
method:"POST",
data:{page:page},
success:function(data){
$('#pagination_data').html(data);
}
})
}
$(document).on('click', '.pagination_link', function(){
var page = $(this).attr("id");
load_data(page);
});
});
</script>
PHP:
<?php
$connect = mysqli_connect("localhost", "root", "", "testing");
$record_per_page = 5;
$page = '';
$output = '';
$page_link = 3;
if(isset($_POST["page"]))
{
$page = $_POST["page"];
setcookie("page",$page,time()+(30*24*50*60),'/');
}
else
{
$page = 1;
}
//
if(!empty($_COOKIE['page']))
$page = $_COOKIE['page'];
$start_from = ($page - 1)*$record_per_page;
$query = "SELECT * FROM tbl_student ORDER BY student_id DESC LIMIT $start_from, $record_per_page";
$result = mysqli_query($connect, $query);
$output .= "
<table class='table table-bordered'>
<tr>
<th width='50%'>Name</th>
<th width='50%'>Phone</th>
</tr>
";
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<td>'.$row["student_name"].'</td>
<td>'.$row["student_phone"].'</td>
</tr>
';
}
$output .= '</table><br /><div align="center">';
$page_query = "SELECT * FROM tbl_student ORDER BY student_id DESC";
$page_result = mysqli_query($connect, $page_query);
$total_records = mysqli_num_rows($page_result);
$total_pages = ceil($total_records/$record_per_page);
//$number = (int)($total_pages/$total_pages);
$number = (int)($total_records/$total_pages);
if((float)($total_records/$total_pages) - $number != 0) $number++;
if($page > $page_link + 1)
{
for($i = $page - $page_link; $i < $page; $i++)
{
$output .= "<span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span> | ";
}
}
else
{
for($i = 1; $i < $page; $i++)
{
$output.= "<span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span> | ";
}
}
$output .= $i;
if($page + $page_link < $number)
{
for($i = $page + 1; $i <= $page + $page_link; $i++)
{
$output .= " | <span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span>";
}
}
else
{
for($i = $page + 1; $i <= $number; $i++)
{
$output .= " | <span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span> ";
}
}
$output .= '</div><br /><br />';
if(isset($_COOKIE['page'])) echo $_COOKIE['page'];
echo $output;
?>