Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать постраничную навигацию после поиска через ajax?
@MbIW

Как сделать постраничную навигацию с помощью ajax после поиска?

Есть форма со строковой ввода и кнопкой, которая отправляет введенную страну на другую страницу
<form action="city.php" >
        <input name="search" placeholder="введите страну..." type="text" class="search ">
        <button type="submit" name="submit">Поиск</button>
	</form>


вторая страница принимает страну и выводит из базы данных список городов
<div class="content">
			<?php 
				if(isset($_GET['submit'])){
					$search = $_GET['search'];
					$countrys = mysqli_query($con,"SELECT * FROM `countrys` WHERE `country` LIKE '%$search%' ");					
					$country = mysqli_fetch_assoc($countrys);										
				}
			?>
	<ul>
		<?php
			$per_page = 5;


				if(isset($_GET['page']))
				{
					$page = (int) $_GET['page'];
				} else ($page = 1);

				$total_country_id_q = mysqli_query($con, "SELECT COUNT(`id`) AS `total_count` FROM `citys` WHERE `country_id`  =  ". $country['id']); 

				$total_country_id = mysqli_fetch_assoc($total_country_id_q);

				$total_country_id = $total_country_id["total_count"]; 
				$total_pages = ceil($total_country_id / $per_page);


				if( $page <= 1 || $page > $total_pages)
				{
					$page = 1;
				}
				$offset = ($per_page * $page) - $per_page;

				$citys = mysqli_query($con, "SELECT * FROM `citys` WHERE `country_id` = " . $country['id'] . " LIMIT $offset,$per_page ");			

					while(($city = mysqli_fetch_assoc($citys))) 
					{
						echo "<li>" . $city["city"] . "</li>";
					}
		?>
		<!-- надо правильно сформировать страницу DATA , теряется переменная country после нажатия на следующую страницу -->
		<script>
			$(function() {   
			
			$("#next").click(function() {
				var page = <?=$page?>;
				var country = <?=$country['country']?>;     //////// вот здесь пишет ошибка Uncaught ReferenceError: Италия is not defined
						$.ajax({
							url:"city.php",
							type:'GET',
							data: "/city.php?search="+country+"&submit=&page="+(page+1),
							success: function(html) {

									$(".content").html(html).hide().fadeIn(300);
							}
						
						});
			});
			
			$("#prev").click(function() {
				var page = <?=$page?>;
				var country = <?=$country['country']?>;
						$.ajax({
							url:'city.php',
							type:'GET',
							data: "/city.php?search="+country+"&submit=&page="+(page-1),
							success: function(html) {
							
									$(".content").html(html).hide().fadeIn(300);								
								}
						});
	
				});
		});

		</script>

	</ul>
			<?php
				echo '<div>';
					if($page > 1)
						{
							echo '<a id="prev"  > предыдущая страница</a>';
						}
					if($page < $total_pages)
						{
							echo '<a id="next" > следующая страница</a>';
						}
				echo '</div>';
			?>				
		</div>

вот ссылка на сайт, страны есть Англия,Германия,Франция,Италия,Испания https://searchcity.000webhostapp.com
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
var country = <?=$country['country']?>;     //////// вот здесь пишет ошибка Uncaught ReferenceError: Италия is not defined
кавычки должны окружать строковое значение.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы