Intereting Posts
Как правильно избежать обратного слэша, чтобы соответствовать буквальной обратной косой чертой в шаблонах регулярных выражений с одним кавычком и двойным кавычком Как проверить, является ли сеанс PHP пустым? содержимое вместо пути в оболочке 2 языка на веб-сайте, используя php Проверьте, загружен ли мой javascript на сайте Как правильно использовать HTTP_X_FORWARDED_FOR? Как я могу разобрать XML для получения нескольких текстовых блоков с помощью SimpleXML? Сравнение структуры php – благодаря своим уникальным функциям Аутентификация LDAP в Windows Redbean O / RM хранит «дату» как varchar (255)? Получение пользователей Реальный IP-адрес с использованием PHP Использование CSS в представлениях Laravel? Как вы запускаете .bat-файл из PHP? Принудительная косая черта вызывает 404, можно ли исправить использование htaccess? Сохранение и отображение HTML и специальных символов в базе данных mysql безопасно?

PHP Pagination удаляет поисковый запрос и возвращается обратно к отображению всех результатов, исправлению?

После поиска конкретного курса результаты отображаются корректно, но как только я сменю страницу, он возвращается обратно к отображению всех доступных результатов. Как сохранить результаты поискового запроса?

Вот код

<?php $con = mysqli_connect("localhost", "root", "root", "courses"); // $total = mysqli_query($con, "SELECT count(title) as total")->fetch()['total']); if(isset($_GET['searchword'])){ $searchword = $_GET['searchword']; } else { $searchword = ""; } $result = mysqli_query($con, "SELECT count(title) FROM course WHERE title LIKE '$searchword%'"); $row = mysqli_fetch_row($result); // Total rows. $rowstotal = $row[0]; //pages $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $perPage = isset($_GET['per-page']) && $_GET['per-page'] <= 100 ? (int)$_GET['per-page'] : 10; $start = ($page > 1) ? ($page * $perPage) - $perPage : 0; $pages = $rowstotal / $perPage; $sql = "SELECT * FROM course WHERE title LIKE '%$searchword%' ORDER BY title ASC LIMIT {$start},{$perPage}"; $query = mysqli_query($con, $sql); $resultsText = "$rowstotal results"; $resultsList = ''; while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){ $courseId = $row["id"]; $courseAward = $row["award"]; $courseName = $row["title"]; $courseDetails = $row["summary"]; $resultsList .= '<a href="course-page.php?id='.$courseId.'">'.$courseAward.' '.$courseName.'</a> <br>'.$courseDetails.'<br/>'; } mysqli_close($con); ?> <!DOCTYPE html> <html lang="en"> <head> <title>Courses</title> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <nav class="navbar navbar-default navbar-static-top navbar-inverse"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="#"> <img alt="Napier" src=""> </a> </div> </div> </nav> <div class="container"> <!-- Search --> <form method="GET"> <input type="text" class="form-control" name="searchword" placeholder="Search" value="<?php echo $searchword ?>" style="width:30%;"><br> </form> <!-- Results --> <div class="results"> <p></p> <p>Showing <?php echo $perPage; ?> of <?php echo $resultsText; ?></p> <p id="content"><?php echo $resultsList; ?></p> </div> <div class="pagination"> <?php for($x = 1; $x <= $pages; $x++): ?> <a href="?page=<?php echo $x; ?>&per-page=<?php echo $perPage; ?>"<?php if($page === $x) { echo ' class="selected"'; } ?>><?php echo $x; ?></a> <?php endfor; ?> </div> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.3.min.js"></script> </body> </html> 

Solutions Collecting From Web of "PHP Pagination удаляет поисковый запрос и возвращается обратно к отображению всех результатов, исправлению?"

Ссылки на страницы не сохраняют параметр searchword . Измените это:

 <a href="?page=<?php echo $x; ?>&per-page=<?php echo $perPage; ?>"<?php if($page === $x) { echo ' class="selected"'; } ?>><?php echo $x; ?></a> 

к этому:

 <a href="?page=<?php echo $x; ?>&per-page=<?php echo $perPage; ?>&searchword=<?php echo $searchword; ?>"<?php if($page === $x) { echo ' class="selected"'; } ?>><?php echo $x; ?></a>