请教一个按比例取数据库数据的问题
1.数据库
两张表(实际数据两表字段名称基本都不一致,现在随意给几个字段,不影响这个需求)
数据表1:live_tian
字段:id ,name,description
数据表2:live_zhang
字段:id ,name,description
2.需求
两张直播表,分别是从合作公司拿来的直播数据,现在想在一个页面显示两个表里的数据,比例是10:6,就是这个页面显示第一个公司的10条,显示第二个公司6条,一个数据不够了,拿另一个补齐,涉及分页
3.我自己的操作
(1).计算出两个数据各能分的页数
(2).按图片的这个逻辑处理边界数据
4.需要解决问题
问题:目前实现起来if else过多,中间在掺杂一些其他逻辑,代码阅读起来太差了
目前这个项目用到的不是laravel,一个基本算是原生php的框架,我想请教下能否直接从mysql数据库(原生sql语句)上解决,或者laravel有啥方法,我去阅读下代码,或者大佬们给提供一个更好的逻辑,谢谢
首先分别考虑在一个表的情况,其实做分页无非也是每次翻页就查询一次数据,那就可以这样理解,第一次首页10条数据,数组下标是0-9,条数是10,第二次是下标10-19,条数也是10,每次从前一组数据的最大下标+1的位置开始查,例如:
还可以参考一下分页:分页
那如果是两张表呢,就可以分别按照分页查询的方式,一个查10条,一个查6条,然后组成一个数组/集合返回前端就可以了。