@2pa

Как получить переменную из php в ajax?

Нужно достать $count, который будет в ajax-е равен res_id, но не возвращать его назад в 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();


	$count = $query->rowCount();

	print("Выбрано $count строк.\n");

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


foreach ($list as $rs) {
    $last_id = $rs['id'];
    echo '<li>';
	echo '<h2>'.$rs['id'].'</h2>';
    echo '<h2>'.$rs['title'].'</h2>';
    echo '<img src="'.$rs['photo'].'">';
    echo '<p>'.$rs['description'].'</p>';
    echo '</li>';
}



?>

$(document).ready(function(){
    var inProcess = false;
    var last_id = 1;
    var res_id = 0;

    $(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){
                                        $('#items').append(data);
                                        inProcess = false;
                                        last_id += res_id;
                                        console.log(last_id)
                                     });

        }


});
});
  • Вопрос задан
  • 1008 просмотров
Пригласить эксперта
Ответы на вопрос 2
trushka
@trushka
вместо print("Выбрано $count строк.\n");
что-то типа echo("<div style='display:none'>$count</div>");
А в js last_id += +$(data).eq(0).html();
Ответ написан
Foreach Echo print замени на json encode и пускай ajax его с файла берет, туда и count свой засунь. Js парси json и все будет отлично
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы