现在有两个数据表,一个是商品表,一个是文章表,他们要在同一个前端列表混合显示并做分页,有可能实现吗?麻烦提供下思路,谢谢
6 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
你可以合并之后,定制一个排序规则。或者定制一个合并规则。
因为两个表完全没关系,如果你就是想统一处理,比如,你一页10个数据,你要整8篇文章,2个商品,就定义一下在哪个地方插入这两条商品,取到这十个数据遍历整理成一串传到前面,那下一页就相当于取第9到16篇文章,第3到4个商品,一样8个和2个,就可以分页了。不过这样其实挺蛋疼的,增加了后端开销。
所以,你可以直接把这些数据不合并直接往前端扔,前端接收到之后再排一下,想怎么排怎么排。
那,还有可能,你这个玩意本身分页与文章发布,商品创建等时间相关,在sql中可以直接用一个统一的时间作为排序根据进行分页,将两表合并。
其实还是要看你究竟业务是想怎么做和技术实现。

慕姐8265434
TA贡献1813条经验 获得超2个赞
SELECT id, product_name as name,TYPE =0 FROM 商品表
UNION
SELECT id, title as name,TYPE =1 FROM 文章表 LIMIT 0 , 30
类似这样

临摹微笑
TA贡献1982条经验 获得超2个赞
按照你现在说的可以这样做
另外建一张表
create table mixed_table (
id int unsigned NOT NULL AUTO_INCREMENT,
source_id int unsigned COMMENT '商品id或者文章id',
source_type tinyint unsigned COMMENT '0 商品 1 文章',
PRIMARY KEY (id)
);
其他字段按需添加
- 6 回答
- 0 关注
- 979 浏览
添加回答
举报
0/150
提交
取消