постраничный вывод через ajax

91
02 мая 2021, 03:30

Есть сайт, в котором в поиск вбиваешь страну.

<?php 
  require "includes/config.php"; 
?> 
 
  <!DOCTYPE html > 
  <html lang="en"> 
 
  <head> 
    <meta charset="UTF-8" /> 
    <title> 
      <?php echo $config['title'];?> 
    </title> 
    <script src="jquery-1.9.1.js"></script> 
    <script src="jquery-ui-1.10.1.custom.js"></script> 
    <link href="/style/reset.css" rel="stylesheet" /> 
    <link href="/style/style.css" rel="stylesheet" /> 
    <link href="/style/jquery-ui-1.10.1.custom.css" rel="stylesheet" /> 
  </head> 
 
  <body> 
    <form action="city.php" method="get"> 
      <input name="search" placeholder="введите страну..." type="text" class="search "> 
      <input type="submit" name="submit" value="поиск"></input> 
    </form> 
    <div class="content"> 
    </div> 
  </body> 
 
  </html>

После нажатия на кнопку данные отправляются на другую страницу и там сравниваются с базой:

<?php 
  require "includes/config.php"; 
?> 
  <!DOCTYPE html > 
  <html lang="en"> 
 
  <head> 
    <meta charset="UTF-8" /> 
    <title> 
      <?php echo $config['title'];?> 
    </title> 
    <script src="jquery-1.9.1.js"></script> 
    <script src="jquery-ui-1.10.1.custom.js"></script> 
    <link href="/style/reset.css" rel="stylesheet" /> 
    <link href="/style/jquery-ui-1.10.1.custom.css" rel="stylesheet" /> 
    <link href="/style/style.css" rel="stylesheet" /> 
  </head> 
 
  <body> 
    <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>"; 
					} 
		?> 
          <script> 
            /////надо правильно сформировать страницу DATA search = '. $country['country'] .' , теряется страна var country из GET(видимо потому что не пришло нажатии кнопки "submit") после перехода на другую страницу и да ссылка так криво формируется, в обычном постраничном она выглядит как(<a href="/city.php?search='. $country['country'] .'&submit='value'&page='.($page - 1).'; ">) 
            $(function() { 
 
 
              $("#next").click(function() { 
                var page = <?=$page?>; 
                var country = <?=$country['country']?>; 
                вот эта переменная пропадает после нажатия на ссылку next 
                $.ajax({ 
                  url: "city.php", 
                  type: 'GET', 
                  data: "/city.php?search=" + (country) + "&submit='value'&page=" + (page + 1), 
                  success: function(html) { 
 
                    $(".content").html(html).hide().fadeIn(300); 
                  } 
 
                }); 
              }); 
 
              $("#prev").click(function() { 
                var page = <?=$page;?> 
 
                $.ajax({ 
                  url: 'city.php', 
                  type: 'GET', 
                  data: "/city.php?search='. $country['country'] .'&submit='.value.'&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> 
  </body> 
 
  </html>

Можно ли как то в этом варианте доделать? Или придется все переделывать?

READ ALSO
Как изменить имя отправителя в mail() при использовании ssmtp?

Как изменить имя отправителя в mail() при использовании ssmtp?

Не как не могу разобраться с именем отправителяУ меня nginx, debian, ssmtp, php

128
Ширина столбца в PhpSpreadsheet

Ширина столбца в PhpSpreadsheet

спасайте, потому, что это хаос блин

134
Как отправить куки в middleware Laravel?

Как отправить куки в middleware Laravel?

Как отправить куки непосредственно в мидлвере? Вариант

92