我正在开发一个需要对 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/