我有一个正常的$.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
内进行分页,但我已被抛到一个陈旧的地方,因为我没有我不知道该怎么做。
我的最后一个想法是使用来自第一个 AJAX 请求的$total
请求获取$pages
,$offset
,data
,然后重新发送另一个 AJAX 请求onclicking
pagination
页面中的main.php
。
这是正确的方法,是否可以从 AJAX 请求中检索PHP数据?或者还有另一种正确的方法来处理pagination
AJAX 。
答案 0 :(得分:0)
将所有必需的东西放在如下的数组中:
$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方面,相应地解析它。