php - Ajax分页sql查询

标签 php mysql ajax pagination

我正在开发一个需要对 sql 数据库结果进行分页的网站。这个想法是这样的,用户可以单击带有美国每个州代码的提交按钮,以查看该州用户留下的所有评论。例如,单击 NY 应显示来自 NY 的所有人员的评论,单击 TX 应显示所有 TX 的评论,依此类推。在一个大列表中显示结果是可行的,但我现在想对这些结果进行分页。我目前正在使用位于其自己的 paginate.php 文件中的代码,每次显示新状态时都需要重新更新:

<?php

...

$rs_result = mysql_query($sql); 
$row = mysql_fetch_row($rs_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records / 10); 

for ($i=1; $i<=$total_pages; $i++) { 

echo "<a href='?page=".$i."'>".$i."</a> ";

}; 
?>

代码本身并不完全有效,因为它使页面刷新。这样做会丢失先前单击的状态的内存。我如何更改它以与 Ajax 一起使用,这样我就不需要刷新页面。如果您需要更多信息,请告诉我。

最佳答案

您需要将结果包装在具有指定 ID 的 DIV 中,并更改 URL 以指向 javascript 函数(我建议 jQuery )。该函数必须获取将在该 div 中显示的数据。

例如:

<div id="results">
</div> 

<?php
    for ($i=1; $i<=$total_pages; $i++) { 
        echo "<a href='?page=".$i."' onclick="getPage('".$i."'); return false;">".$i."</a> ";
    }; 
?>

// and script

// the script asks result.php for page and returns html result.
<script type="text/javascript">
    function getPage(page){
        $("#results").load("result.php", { page: page } );
    }
</script>

关于php - Ajax分页sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020282/

相关文章:

mysql - SQL中计算所有项目的连续天数

asp.net - 使用ScriptManager/ToolkitManager从Microsoft的CDN加载AjaxControlToolkit脚本

php - 表单在提交时返回值 1

python - Django 表关系及其调用方式说明

mysql - XAMPP:重启后 MYSQL 停止工作

PHP Javascript 变量问题

javascript - 在 AJAX 请求上发送 JSON 对象,在服务器上未定义

php - 创建MySQL时更多外键

php - 生成面包屑的递归函数

php - Laravel 本地主机工作,但 heroku 给出 500 错误