Problema - Paginação + ajax + php + campo de busca
Ola!
Estou criando uma paginação + ajax + php . No banco de dados que trabalhei coloquei vários produtos que começam com a letra w para conseguir buscar eles com uma busca simples. Consegui fazer com que ele fizesse a busca e a paginação. O problema é quando clico na paginação após a busca. Ele sempre volta para o inicio. Alguém me ajuda
Arquivo Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<link rel="stylesheet" href="stylesheet.css">
<script src="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 type="text/javascript">
$(document).ready(function(){
load_data();
function load_data(page)
{
$.ajax({
url:"processa.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);
});
});
##################################
Arquivo processa.php
<?php
include('conecta.php');
$campo = (isset($_POST['campo'])) ? $_POST['campo'] : '';
$record_per_page = 2;
$page = '';
$output = '';
if(isset($_POST["page"]))
{
$page = $_POST["page"];
}
else
{
$page = 1;
}
$start_from = ($page - 1)*$record_per_page;
$sql = "SELECT * FROM produtos WHERE produto LIKE :nome ORDER BY id DESC LIMIT $start_from, $record_per_page";
$stm = $db_con->prepare($sql);
$stm->bindValue(':nome', $campo.'%');
$stm->execute();
$clientes = $stm->fetchAll(PDO::FETCH_OBJ);
?>
<form id="formpesquisaum" >
Buscar por:
<label for="select"></label>
<select name="campo" id="campo">
<option></option>
<option>w</option>
<option>o</option>
</select>
<button type="submit" class="btn btn-primary">Pesquisar</button>
</form>
<table>
<thead>
<tr>
<td>Id</td>
<td>Produtos</td>
</tr>
</thead>
<tbody>
<?php
foreach($clientes as $rows_cursos): ?>
<tr>
<td><?=$rows_cursos->id?></td>
<td><?=$rows_cursos->produto?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php
$page_query = "SELECT * FROM produtos WHERE produto LIKE :nome ORDER BY id DESC";
$page_result = $db_con->prepare($page_query);
$page_result->bindValue(':nome', $campo.'%');
$page_result ->execute();
$total_records = $page_result->rowCount();
$total_pages = ceil($total_records/$record_per_page);
for($i=1; $i<=$total_pages; $i++)
{
$output .= "<span class='pagination_link' style='cursor:pointer; padding:6px; border:1px solid #ccc;' id='".$i."'>".$i."</span>";
}
$output .= '</div><br /><br />';
echo $output;
?>
<script type="text/javascript">
$(document).ready(function(){
$('#formpesquisaum').submit(function(){
var dados = $(this).serialize();
$.ajax({
url: 'processa.php',
method: 'post',
dataType: 'html',
data: dados,
success: function(data){
$('#pagination_data').html(data);
}
});
return false;
});
});
</script>
</script>Discussão (1)
Carregando comentários...