У меня есть кнопка поиска, которая используется для поиска в категории и таблице товаров.Поэтому я использую 2 раскрывающихся меню, когда страница загружается в первом раскрывающемся списке, где отображаются категории, а когда пользователь выбирает категорию во втором раскрывающемся списке, отображается продукт, который находится в этой категории.Также, когда страница загружается, запускается запрос по умолчанию, который показывает все продукты.Так что функция поиска работает хорошо.
Проблема в том, что я также использую нумерацию страниц.Перед поиском нумерация страниц работает нормально (15 записей на страницу), но после поиска, если я выбираю категорию и выполняю поиск, отображаются все записи этой категории, а при переходе на следующую страницу выполняется запрос по умолчанию и результат по умолчанию.Я хочу, чтобы он показал результат, который я искал.
<?php
$listperpage = 15;
$c = $_POST['category'];
$n = $_POST['product'];
if(!empty($c)){
$query = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category WHERE fk_id_category = '$c'";
$result = mysql_query($query) or die (mysql_query());
}
else if(!empty($c) && !empty($n)){
$query = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category WHERE fk_id_category = '$c' AND rank_name = '$n'";
$result = mysql_query($query) or die (mysql_query());
}else{
$query = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category";
$result = mysql_query($query) or die (mysql_query());
echo "else one";
}
$result_num = mysql_num_rows($result);
//total pages
$pages = ceil($result_num/$listperpage);
//which number the user is crrrently on
if (!isset($_GET['page'])) {
$page = 1;
} else{
$page = $_GET['page'];
}
//sql limit starting number of results on th page
$strt_limit_no = ($page - 1)*$listperpage;
if(isset($_POST["search"])){
$c = $_POST['category'];
$n = $_POST['product'];
if(empty($c)){
echo "<span class='form-error'>Select Category first!</span>";
}
else if(!empty($c) && !empty($n)){
$queryn = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category WHERE fk_id_category = '$c' AND rank_name = '$n' LIMIT ". $strt_limit_no .','. $listperpage;
$results = mysql_query($queryn) or die (mysql_query());
}
else{
$queryn = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category WHERE fk_id_category = '$c' LIMIT ". $strt_limit_no .','. $listperpage;
$results = mysql_query($queryn) or die (mysql_query());
}
}
else{
$queryn = "SELECT * FROM tbl_category INNER JOIN tbl_product ON tbl_category.id = tbl_product.fk_id_category LIMIT ". $strt_limit_no .','. $listperpage;
$results = mysql_query($queryn) or die (mysql_query());
echo "else end";
}
?>
<script type="text/javascript">
$(document).ready(function() {
$("#category").on('click',function(){
var category = $(this).val();
if(category){
//alert('3213');
$.ajax({
type:'POST',
url:'process.php',
data:'category=' + category,
success:function(html){
$("#product").html(html);
}
});
}
});
});
</script>
<div align="center" class='maintabledivdaily' style='width:100%; padding: 20px 0 15px 0;' >
<table border="1" cellpadding="5" cellspacing="2" width="80%" >
<thead>
<tr>
<th colspan="9" bgcolor="#CCCCCC">List of all Ranks</th>
</tr>
<tr>
<th>ID</th>
<th>Category</th>
<th>Product Name</th>
</tr>
</thead>
<tbody>
<?php while ($row = mysql_fetch_array($results)): ?>
<tr></tr>
<tr align="center" dir="rtl" style="font-style:">
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['category']; ?></td>
<td><?php echo $row['product']; ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
<br>
<div class="pagination">
<?php
for ($page=1; $page <= $pages ; $page++) {
echo '<a style="color: #000000;
float: left;
padding: 8px 16px;
text-decoration: none;
"href="list.php?page='. $page .'">'. $page .'</a> ';
}
?>
</div>