0
무한 스크롤이 PHP 스크립트에이 코드를 사용하고 있지만 문제가 있습니다. 게시물을 아래로 스크롤하면 무한대로 반복되고 "더 이상 글이 없습니다"라는 메시지가 표시되지 않습니다. 예를 들어, DB에 10 개의 게시물이 있고 한계가 5 인 경우 5 개의 다른 페이지를 표시하고 "더 이상 게시물이 없습니다"라는 메시지가 표시 될 때까지 스크롤하십시오.무한 스크롤 PHP 게시 반복
<?php
// Connect do DB
try {
$conn = new PDO('mysql:host=localhost;dbname=fb','root','');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
die('ERROR: ' . $e->getMessage());
}
// Pagination
$limit = 4;
$total = $conn->query("SELECT COUNT(*) FROM posts")->fetchColumn();
$pages = ceil($total/$limit);
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
'options' => array(
'default' => 1,
'min_range' => 1,
),
)));
$offset = ($page - 1) * $limit;
$sql = "SELECT * FROM posts ORDER BY id DESC LIMIT 5 OFFSET $offset";
?>
<center>
<div class="posts-container">
<?php foreach ($conn->query($sql) as $post) { ?>
<div class="posts" style="width: 400px">
<h1>
<?= $post['id']; ?>
</h1>
<p>
<?= $post['body']; ?>
</p>
</div>
<?php }
if ($page < $pages) {
?>
<nav id="page-nav">
<a href='index.php?page=<?= ($page + 1) ?>'>Next >></a>
</nav>
<?php } ?>
</div>
</center>
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
<script type="text/javascript" src="http://www.infinite-scroll.com/wp-content/plugins/infinite-scroll/jquery.infinitescroll.js"></script>
<script>
$('.posts-container').infinitescroll({
navSelector : "#page-nav",
nextSelector : "#page-nav a",
itemSelector : ".posts",
}, function(newElements, data, url){
});
</script>