<?php
<?php
$_POST['startFrom'];
require_once "../config/db.php" ;
class Mpartjs extends Db {
function list_partjs($startFrom) {
$sql = "SELECT id,name,cost,img FROM partfolio ORDER BY time DESC LIMIT ".$startFrom.",10" ;
$res = $this->sql($sql) ;
while($part = mysql_fetch_array($res)) {
$all_row[] = $part ;
}
return $all_row ;
}
function list_categjs($_GET, $startFrom) {
$sql = "SELECT id,name,cost,img FROM partfolio WHERE category='".$_GET['partfolio']."' ORDER BY time DESC LIMIT ".$startFrom.",10" ;
$res = $this->sql($sql) ;
while($part = mysql_fetch_array($res)) {
$all_row[] = $part ;
}
return $all_row ;
}
}
$jspart = new Mpartjs();
if($_GET['partfolio'] == ''){
$ppage = $jspart->list_partjs($_POST['startFrom']);
}else{
$ppage = $jspart->list_categjs($_GET, $_POST['startFrom']);
}
echo json_encode($ppage);
?>
?>
$(document).ready(function(){
/* Переменная-флаг для отслеживания того, происходит ли в данный момент ajax-запрос. В самом начале даем ей значение false, т.е. запрос не в процессе выполнения */
var inProgress = false;
/* С какой статьи надо делать выборку из базы при ajax-запросе */
var startFrom = 1;
loads();
/* Используйте вариант $('#more').click(function() для того, чтобы дать пользователю возможность управлять процессом, кликая по кнопке "Дальше" под блоком статей (см. файл index.php) */
$('#more').click(function(){
loads();
});
function loads(){
$.ajax({
/* адрес файла-обработчика запроса */
url: '/js/obrabotchik.php',
/* метод отправки данных */
method: 'POST',
/* данные, которые мы передаем в файл-обработчик */
data: {"startFrom" : startFrom},
dataType: 'json',
/* что нужно сделать до отправки запрса */
beforeSend: function() {
/* меняем значение флага на true, т.е. запрос сейчас в процессе выполнения */
inProgress = true;}
/* что нужно сделать по факту выполнения запроса */
}).done(function(data){
/* Преобразуем результат, пришедший от обработчика - преобразуем json-строку обратно в массив */
// data = jQuery.parseJSON(data);
alert (1);
/* Если массив не пуст (т.е. статьи там есть) */
if (data.length > 0) {
/* Делаем проход по каждому результату, оказвашемуся в массиве,
где в index попадает индекс текущего элемента массива, а в data - сама статья */
$.each(data, function(index, data){
alert (1);
/* Отбираем по идентификатору блок со статьями и дозаполняем его новыми данными */
$("#partfolios").append("<div id='newmat' class='partfolios' style = 'height:0px; opacity:0;'><b>" + data.name + "</b><br />" + data.id + "</div>");
$('#newmat'+ data.id).stop().animate({ opacity: "1", height: '50px'}, 1000);
});
/* По факту окончания запроса снова меняем значение флага на false */
inProgress = false;
// Увеличиваем на 10 порядковый номер статьи, с которой надо начинать выборку из базы
startFrom += 10;
alert (startFrom);
}});
};
$(window).scroll(function() {
/* Если высота окна + высота прокрутки больше или равны высоте всего документа и ajax-запрос в настоящий момент не выполняется, то запускаем ajax-запрос */
if($(window).scrollTop() + $(window).height() >= $(document).height() && !inProgress) {
loads();
}
});
});
ничего не работает всё-равно. в хроме ошибок в network=>respons нет (данные запроса него показывает), то есть дело не в php.