我很难提出一个简短的问题,所以请耐心等待:
使用jQuery和AJAX,我将所有帖子存储在我的MySQL数据库中,显示在index.php上。每个帖子都有一个按钮,让用户隐藏帖子的DIV。
现在,我想做到这一点,我只看到10个结果并对其余部分进行分页。我知道有很多分页插件,但当用户隐藏10个已经显示的帖子中的一个时,它们都没有显示下一篇文章。
因此,如果我看到第1页的帖子1-10(第2页的帖子11-20)和用户隐藏帖子8,我应该看到帖子1,2,3,4,5,6,7,9,10 ,第1页11,第2页第12-21页,依此类推。
问题是:我该怎么做?这就是我现在所拥有的(从数据库中获取帖子,在页面上显示帖子+隐藏按钮切换):
// Javascript
$(document).ready(function() {
$(document).on("click", ".hide", function(){
postID = $(this).attr('id').replace('hide_', '');
$('#post-' + postID).toggle();
return false;
});
});
// PHP
<?php
$pageposts = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->posts"), OBJECT);
?>
<?php if ($pageposts): ?>
<?php global $post; ?>
<?php foreach ($pageposts as $post): ?>
<?php setup_postdata($post); ?>
<div id="buttons_<?php the_ID(); ?>">
<div id="hide_<?php the_ID(); ?>" class="hide" style="position:absolute; right: 2.5em;">
<a id="hidebtn_<?php the_ID(); ?>" href="#"><span></span></a>
</div>
</div>
<div id="post-<?php the_ID(); ?>">
/* display post content */
</div>
<?php endforeach; ?>
<?php endif; ?>
答案 0 :(得分:0)
找出下一个要抓取的ID的简单方法是在页面上存储MAX id,因此如果页面显示1-10,则将10存储为MAX id。 当用户隐藏帖子时,mysql查询将拉出1个结果,其中id&gt;存储的最大ID。