是否有可能从AJAX请求中获取rowCount()以在分页中使用它?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可能从AJAX请求中获取rowCount()以在分页中使用它?相关的知识,希望对你有一定的参考价值。
我有一个正常的$.post
AJAX请求转到此页面
ajax.php
<?php
if (isset($_POST['offset'])) { $offset = $_POST['offset']; } else { $offset = 0; }
$sql = "
SELECT a.name, b.fname, c.lname, d.mname FROM table a
LEFT JOIN table-b b ON a.id = b.id
LEFT JOIN table-c c ON a.id = c.id
LEFT JOIN table-d d ON a.id = d.id
LIMIT $offset, 5
";
while($r = $stmt->fetch()){
...
}
$total = $stmt->rowCount();
$pages = ceil($total / 5);
$offset = ($page - 1) * 5;
?>
在获得$total
,$pages
,$offset
之后,我尝试的是在ajax.php
内部进行分页,但我已被抛到一个陈位,因为我不知道该怎么做。
我的最后一个想法是将$total
,$pages
,$offset
从第一个AJAX请求中获取data
请求,然后在onclicking
页面重新发送另一个AJAX请求pagination
main.php
。
这是正确的方法,是否可以从AJAX请求中检索PHP数据?或者还有另一种正确的方法来处理使用AJAX的pagination
。
答案
将所有必需的东西放在一个数组中,如:
$arr = [
'total' = $stmt->rowCount();
'pages' = ceil($total / 5);
'offset' = ($page - 1) * 5;
// add as many variable as you want
];
并将其作为json
对象返回,如:
echo json_encode($arr);
在JS方面,相应地解析它。
以上是关于是否有可能从AJAX请求中获取rowCount()以在分页中使用它?的主要内容,如果未能解决你的问题,请参考以下文章