我正在尝试使用AJAX对我的文章进行无限滚动,并且它不会从PHP页面获取任何内容。我正在使用PDO访问数据库。我已经尝试使用正常限制0,12,它加载正常。
这是我到目前为止所做的:
chapter.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>
data.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;
?>
答案 0 :(得分: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);}
});
}