Здравствуйте! Нашел скрипт динамической подгрузки данных из бд по клику на кнопку -
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? если он есть то менять выборку...хотя вряд ли поможет