获取从头到尾的记录

时间:2018-09-08 20:25:19

标签: php mysql json record between

此SQL返回2个表“ posts_main”和“ posts_comments”中的所有记录作为(JSON),具体取决于特定的用户

$sql = "select posts_main.*,
(select groupid from posts_comments where groupid = posts_main.id group by groupid ) as count_comments
from posts_main
WHERE posts_main.user_id = '$user_id' ";


$obj = json_decode($_GET["x"], false);
$stmt = $con->prepare($sql);
$stmt->bind_param("ss", $obj->table, $obj->limit);
$stmt->execute();
$result = $stmt->get_result();
$outp = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($outp);

我的问题: 我怎样才能获得前10条记录,然后是接下来的10条记录,到底呢?

例如: 我将发送“ start” = 0,我将获得前10条记录。 下次发送:“ start” = 10,然后得到记录 FROM 10 TO 20。 等等。

谢谢...

2 个答案:

答案 0 :(得分:0)

如果您有一个“开始”号码,则可以这样构成查询-

$sql = "select posts_main.*,
(select groupid from posts_comments where groupid = posts_main.id group by groupid ) as count_comments
from posts_main
WHERE posts_main.user_id = '$user_id' limit 10,10";

MySQL从表的第11条记录开始读取10条记录。 如果您正在寻找上一个,下一个解决方案,那么PHP分页是唯一的选择。

答案 1 :(得分:0)

希望这对您有帮助:

$start = 0;
$sql = "select posts_main.*,
(select groupid from posts_comments where groupid = posts_main.id group by groupid ) as count_comments
from posts_main
WHERE posts_main.user_id = '$user_id' 
limit '$start' 10";