Показать сообщение отдельно
  #1 (permalink)  
Старый 05.06.2016, 16:40
Аспирант
Отправить личное сообщение для PonyS Посмотреть профиль Найти все сообщения от PonyS
 
Регистрация: 19.04.2016
Сообщений: 55

Прошу помощи по связке 2х скриптов в 1
Здравствуйте! Нашел скрипт динамической подгрузки данных из бд по клику на кнопку - http://ajaxs.ru/lesson/ajax/127-dina..._stranicu.html , и пытаюсь внедрить в мой скрипт сортировки данных из бд, но не получается объеденить их в 1 рабочий скрипт, помогите пожалуйста найти ошибку и исправить ее, вот сам код:
Код сортировки данных из бд на ajax(основной):
<script type="text/javascript">
 
$(function() {
 
  $(".search_button").click(function() {
  // получаем то, что написал пользователь
  var searchString  = $("#search_box").val();
  var citysearhc  = $("#selss").val();
  var categorysear  = $("#catsea").val();
  // если searchString не пустая
 
  // делаем ajax запрос
  $.ajax({
  type: "POST",
  url: "/search.php",
  data: {search: searchString, xfsearh: citysearhc, xfsearh2: categorysear },
  beforeSend: function(html) { // запустится до вызова запроса
  $("#results").html('');
  $("#searchresults").show();
            $(".word").html(citysearhc);
  },
  success: function(html){ // запустится после получения результатов
 
           $("#results").hide("fast").append(html).show("slow");
       
  }
  });
 
  return false;
  });
});
</script>



Код динамической подгрузки данных на страницу:
<script type="text/javascript">
$(document).ready(function(){
   $("#imgLoad").hide();  //Скрываем прелоадер
});
var num = 2; //чтобы знать с какой записи вытаскивать данные
$(function() {
   $("#load div").click(function(){ //Выполняем если по кнопке кликнули
   $("#imgLoad").show(); //Показываем прелоадер
   $.ajax({
          url: "/search.php",
          type: "POST",
          data: {"num": num},
          cache: false,
          success: function(response){
              if(response == 0){  // смотрим ответ от сервера и выполняем соответствующее действие
                 alert("Больше нет записей");
                 $("#imgLoad").hide();
              }else{
                 $("#results").append(response);
                 num = num + 2;
                 $("#imgLoad").hide();
              }
           }
        });
    });
});
</script>


И сам код обработки данных:
<?php
  include('db.php');
    $db = new db();
 
//получаем данные через $_POST
if (isset($_POST['search'])) {
$num = $_POST['num'];

     $word = mysql_real_escape_string($_POST['search']);
    $word2 = mysql_real_escape_string($_POST['fsearh']);
    $word3 = mysql_real_escape_string($_POST['fsearh2']);
$temp = array();

if (isset($_POST['search'])) {
    $temp[] = "title LIKE '%" . $_POST['search'] . "%'";
}
if ($_POST['fsearh2'] == "0") {
 
} else {
   
     $temp[] = "category LIKE '%" . $_POST['fsearh2'] . "%'";
}
if ($_POST['fsearh'] == "0") {
 
} else {
   
      $temp[] = "fields LIKE '%" . $_POST['fsearh'] . "%'";
}
 
$sql = "SELECT * FROM post WHERE " . implode(' AND ', $temp) . ' LIMIT '.$num.', 3';
    // Получаем результаты
    $row = $db->select_list($sql);
    if(count($row)) {
        $end_result = '';
       
        foreach($row as $r) {
            $content = $r['short_story'];
            preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $content, $regexResult);
$firstImgScr = array_pop($regexResult);
           
            $end_result     .= <<<HTML
          
                        <img src="{$firstImgScr}"/>
                        <p>{$r['title']}</p>
             
HTML;
        }
        echo $end_result;
    } else {
        echo '<li>По вашему запросу ничего не найдено</li>';
    }
}
 
?>


Не могу врубиться как эти 2 скрипта объеденить чтобы можно было и сортировать данные по клику на кнопку(но при этом чтобы выводились к примеру 10 записей из бд, а остальное по клику на кнопку Загрузить еще), то бишь я нажал Сортировать и вывелось 10 записей по моим параметрам, затем ниже нажал кнопку Загрузить еще и появилось еще 10 записей по этим параметрам(если они есть в бд)

Может оставить эти 2 скрипта в работе, и попробовать сделать на php проверку на отправку post num? если он есть то менять выборку...хотя вряд ли поможет

Последний раз редактировалось PonyS, 05.06.2016 в 17:34.
Ответить с цитированием