php - 如何在 jquery/ajax 未排序列表上集成分页?

标签 php javascript jquery mysql pagination

这是我的问题。我已经尝试了很多很多东西并且意识到我现在可以在我的大脑上煮一个鸡蛋。我需要你的帮助。

我需要在发布内容的 div 上添加分页。更具体地说,对用户生成的列表进行分页。

这是在我的 index.php 中:

<div id="head">
<form name="postbar_add_post" id="postbar_add_post" method="post">
    <fieldset>
        <legend>What are you doing now? ...</legend>
        <input type="text" name="addcontentbox" id="addcontentbox" maxlength="200" />
        <input type="submit" name="addpost" value="Submit" class="submit" />
        </fieldset>
</form>
</div>

<div id="cuerpo"><ul id="wall"></ul></div> 

提交文本时,它使用以下 JavaScript 代码发布该 div 的数据:

// This is the script to post whats typed on the input to the div called wall:
<script type="text/javascript">
    $.noConflict();
    jQuery(document).ready(function() {
        jQuery("form#postbar_add_post").submit(function() {
            var addcontentbox = jQuery('#addcontentbox').attr('value');
            if (addcontentbox.replace(/\s/g,"") == "") {
                return false;
            }
            jQuery.ajax({
                type: "POST",
                url: "postear.php",
                data: "addcontentbox=" + addcontentbox,
                success: function() {
                    jQuery("ul#wall").prepend("<li>"+addcontentbox+"</li>");
                    jQuery("ul#wall li:first").fadeIn();
                    document.postbar_add_post.addcontentbox.value = '';
                    document.postbar_add_post.addcontentbox.focus();
                }
            });
            return false; 
        });
    });
</script>

我正在使用 $.noConflict(); 因为我已经尝试使用另一个名为 Jpagination 的 jquery 插件对其进行分页。 遗憾的是,没有什么好结果。点击here如果你想检查一下。

前面的 Ajax 代码调用 PHP 文件将消息插入数据库。

这是PHP代码:

<?php
if(isset($_POST['addcontentbox'])) {
    // Connection to Database
    include('config.php');
    // NO Query Injection
    $message = mysql_real_escape_string($_POST['addcontentbox']);

    // echo
    $sql = 'INSERT INTO WALL (message) VALUES( "'.$message.'")';
    mysql_query($sql);
    echo $message;
}
else
{ 
    echo '0';
}
?> 

所以,我尝试将分页与 PHP 集成,但我真的迷路了。然后我在网上找到了一些用于分页的脚本,但这让我更糟。

所以我真的需要帮助。

谁能告诉我如何将分页添加到 index.php 上的未排序列表?

最佳答案

嗯,我仍然不是 100% 清楚您希望它如何运作,但我有一个想法。假设您要在一个页面上显示 10 条消息。所以当页面第一次加载时,它会有 10 条最新评论。(你可以通过稍微改变你的 SQL 查询来做到这一点)你还希望你的 index.php 接受查询字符串中的页面变量,所以你知道要加载什么页面。像 index.php?page=1。 然后您可以编写初始查询以获取消息,如下所示:(在执行此操作后 $page = $_GET['page'];

"SELECT * FROM wall ORDER BY id DESC LIMIT $page*10, 10"

除了获取最新消息外,您还想知道总共有多少条消息,这样您就知道自己有多少页。您也可以通过 sql 查询获得它。

"SELECT COUNT(*) FROM wall"

现在让我们回到html。在使用 jQuery("ul#wall li:first").fadeIn(); 淡入新发布的消息后,您可以使用 jQuery("ul#wall li: last").fadeOut();

要制作页面列表,只需将消息总数除以每页消息数即可计算出您需要多少页。然后你可以使用 php for 循环来回显一堆带有页码的链接,就像这样。

<? for($i=0; $i<$total_pages; $i++) { ?>
    <a href="index.php?page=<?=$i;?>"><?=$i;?></a>
<? } ?>

因此,当有人点击其中一个链接时,它将使用正确的消息重新加载您的页面。当然,你可以用它做更多的事情,但我认为这是基本的想法。希望对您有所帮助。

关于php - 如何在 jquery/ajax 未排序列表上集成分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225683/

相关文章:

java - 命令行文件路径中不支持的字符

javascript - 图像未显示在动态生成的内容上

jquery - 使用 JavaScript 快速自动完成

jQuery文件上传: cannot upload file in Safari 11

php - rackspace 子容器不上传文件

php - 将每个 _ 字符替换为 _ 字符后的大写字母

php - 从数据库查询 php Codeigniter

javascript - 如何将整个模块的类型分配给解构变量?

javascript - 如何从输入文件控件中删除一个特定的选定文件

java - 需要从java返回一个json列表以使用json填充html中的下拉列表