0

我正在尝试使用 AJAX 对我的文章进行无限滚动,但它没有从 PHP 页面获取任何内容。我正在使用 PDO 访问数据库。我尝试使用正常限制 0、12 并且加载正常。

这是我到目前为止所做的:

章节.php:

<?php
    include("includes/init.php");
    $query=$db->prepare("SELECT * FROM `test_db` WHERE `test_db`.`Chapter` LIKE :chapter ORDER BY `id` ASC");
    $chapter= (isset($_GET['chapter']) === true) ? $chapter= htmlentities($_GET['chapter']) : die(header('Location:..'));
    $query->bindValue(':chapter', '%'. $chapter . '%', PDO::PARAM_STR);
    $query->execute();
    $number= $query->rowCount();      
?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div class="container">
<ul>
<script>
  var page = 1;
if($(window).scrollTop() + $(window).height() == $(document).height()) {
    page++;
    var actual_count = "<?php echo $number; ?>";
    if ((page-1)* 12 < actual_count){
        $.ajax({
            type: "POST",
            url: "data.php",
            data:{ 'page': page },
            success: function(res) {$(".container ul").append(res);}
        });
    }
}
</script>
</ul>
</div>  
</body>
</html>

数据.php:

<?php 
    include("includes/init.php");
    $page= $_POST['page'];
    $articles = (($page- 1) * 12) . ", 12";
    $articles=$query->prepare("SELECT * FROM `test_db` WHERE `test_db`.`Chapter` LIKE :chapter ORDER BY `id` ASC LIMIT $articles");
    $chapter= (isset($_GET['chapter']) === true) ? $chapter= htmlentities($_GET['chapter']) : die(header('Location:..'));
    $query->bindValue(':chapter', '%'. $chapter . '%', PDO::PARAM_STR);        
    $articles->execute();
    $rows= $articles->fetchAll(PDO::FETCH_ASSOC);  
    foreach ($rows as $row){
        echo "<li>".$row['Name']."-".$row['Description']."</li>";
    };
exit;
?>
4

1 回答 1

0

尝试这个

  var articles_count = "<?php echo $number; ?>";
  while ((page-1)* 12 < articles_count){
      $.ajax({
      type: "POST",
      url: "data.php",
      data:{ 'page': page },
      success: function(res) {
      $(".container ul").append(res);}
    });
  }
于 2013-07-16T11:07:16.300 回答