2 回答
TA贡献1815条经验 获得超6个赞
不反对这个问题的解决方法,按照上面的方法,order by在原来的sql中添加就可以解决问题。但是我想我有分页一个更好的做法:使用参数一样has_more,last_product_id并limit_num与服务器连接的客户端。
has_more指示服务器中是否有更多数据; last_product_id表示上次响应数据的id; limit_num表示每页的数量。
这样,客户端可以使用has_more,以确定发送请求或没有,如果是,则客户机发送请求与last_product_id和limit_num给服务器; 对于服务器,sql 可以是这样的:
select * from table where id < $last_product_id order by id desc
limit $limit_num + 1; =>$datas
而且,计数($ DATAS)和$ limit_num计算的价值has_more和last_product_id:
$has_more = 0;
$data_num = count($datas);
if ($data_num > $page_limit) {
$has_more = 1;
array_pop($datas);
$data_num--;
}
$last_product_id = end($datas)['id'] ?? 0;
TA贡献1860条经验 获得超8个赞
SELECT *, COUNT(product.id) AS 'count' FROM product INNER JOIN product_category on product.product_category_id = product_category.id INNER JOIN company_manufacturer_product on product.company_manufacturer_product_id=company_manufacturer_product.id group by product.id OFF SET 6 0;
添加回答
举报