У меня есть эта форма на странице html:
<form action="php/pagination-script.php">
<div class="form-group">
<label form="Species"></label>
<input type="hidden" name="pageno" value="1"/>
<select class="form-control" id="opts" name="category">
<option value="" selected disabled hidden>Select category</option>
<option value="Fish">Fish</option>
<option value="Fowl">Fowl</option>
<option value="Mammal">Mammal</option>
</select>
<br>
<input type="submit" value="Submit">
</div>
</form>
У нее есть скрытое поле ввода с именем = "pageno" value = "1" Форма также имеет название = "категория Msgstr "Оба эти значения переданы в скрипт php & pagination ниже. Сценарий разбивки на страницы работает нормально, если я вырезал код ($ _get ['category']), но затем я не могу использовать предложение WHERE для моих результатов sql. Предложение WHERE работает нормально, если я не пытаюсь выполнить нумерацию страниц. Кто-нибудь может заставить нумерацию страниц работать с предложением WHERE? Я думаю, что мне нужно получить значение $ category в коде нумерации страниц, но я не могу понять, как это сделать. Я начинающий программист.
<html>
<body>
<?php
include('../inc/header.php');
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
}
else {
$pageno = 1;
}
/*
if (isset($_GET['category'])) {
$category = $_GET['category'];
}
else {
echo "<h2>No animals found.</h2><p>Please check that you selected a category from the dropdown list</p>";
echo '<p><button onclick="location.href=\'../pages2.htm\'">Back To Search</button></p>';
die;
} */
$no_of_records_per_page = 2;
$offset = ($pageno-1) * $no_of_records_per_page;
$conn=mysqli_connect("localhost","user","myPswrd","myDB");
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die();
}
$total_pages_sql = "SELECT COUNT(*) FROM myAnimals"; //WHERE category1 ='$category' OR category2 ='$category' ORDER BY rating desc";
$result = mysqli_query($conn,$total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];
$total_pages = ceil($total_rows / $no_of_records_per_page);
$sql = "SELECT * FROM myAnimals LIMIT $offset, $no_of_records_per_page";
$res_data = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($res_data)){
//here goes the data
echo '<img ' . ' class="img-responsive center-block"' . ' src="' . $row["fileName"] . '" alt="' . $row["title"] . '"/><br>'
. '<h3>'. ' "' . $row["title"] . '" </h3>' . '<p class="ref">Ref id #' . $row["id"] . '</p>';
}
mysqli_close($conn);
?>
<ul class="pagination">
<li><a href="?pageno=1">First</a></li>
<li class="<?php if($pageno <= 1){ echo 'disabled'; } ?>">
<a href="<?php if($pageno <= 1){ echo '#'; } else { echo "?pageno=".($pageno - 1); } ?>">Prev</a>
</li>
<li class="<?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
<a href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo "?pageno=".($pageno + 1); } ?>">Next</a>
</li>
<li><a href="?pageno=<?php echo $total_pages; ?>">Last</a></li>
</ul>
</body>
</html>