@2pa

Почему не работает условие if (data.length > 0)?

если id 16 есть то last_id += 1; но почему-то условие не работает даже если тут
foreach ($list as $rs) {
//ничего нет, то есть нет даже echo и записи в базе с id 16 
}


Вот php

<?php
// including the config file
include('config.php');
$pdo = connect();


$last_id = $_POST['last_id'];


try {
  $sql = "SELECT * FROM items WHERE id > :last_id LIMIT 1";

  $query = $pdo->prepare($sql);
  $query->bindParam(':last_id', $last_id, PDO::PARAM_INT);
  $query->execute();


  $list = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
  echo 'PDOException : '.  $e->getMessage();
}


foreach ($list as $rs) {

    echo '<li>';

    echo '<h2>'.$rs['title'].'</h2>';
    echo '<img src="'.$rs['photo'].'">';
    echo '<p>'.$rs['description'].'</p>';
    echo '</li>';
}


?>


Вот jquery
$(document).ready(function(){
    var inProcess = false;
    var last_id = 15;


    $(window).scroll(function() {
        if($(window).scrollTop() + $(window).height() >= $(document).height() && !inProcess) {

            $.ajax({
                url: 'load_more.php',
                type: 'POST',
                data: {last_id:last_id},
                beforeSend: function() {
                    inProcess = true;
                }
            })
                .done(function(data){
                    if (data.length > 0) {
                    $('#items').append(data);
                    inProcess = false;

                    last_id += 1;
                    console.log(last_id)
                    }
                });

        }


    });
});
  • Вопрос задан
  • 526 просмотров
Пригласить эксперта
Ответы на вопрос 2
glebovgin
@glebovgin
Full Stack Web Developer
Немного запутана формулировка вопроса, но для начала попробуйте в php-файле сделать вот что:

$ret = '';
foreach ($list as $rs) {

    $ret .= '<li>';
    $ret .= '<h2>'.$rs['title'].'</h2>';
    $ret .= '<img src="'.$rs['photo'].'">';
    $ret .= '<p>'.$rs['description'].'</p>';
    $ret .= '</li>';
}
echo $ret;
Ответ написан
SagePtr
@SagePtr
Еда - это святое
А с чего вы взяли, что last_id будет увеличиваться именно на единицу? И что выводить будет именно в таком порядке? Вы же в запросе не задали порядок, только условие, что id должно быть больше, но больше - это не обязательно именно на единицу, любая из последующих записей попадает под определение и может быть выбрана.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы