是否有可能从AJAX请求中获取rowCount()以在分页中使用它?

时间:2017-12-18 11:29:13

标签: php jquery ajax pagination

我有一个正常的$.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$offsetdata,然后重新发送另一个 AJAX 请求onclicking pagination页面中的main.php

这是正确的方法,是否可以从 AJAX 请求中检索PHP数据?或者还有另一种正确的方法来处理pagination AJAX

1 个答案:

答案 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方面,相应地解析它。