tp6+layui+mysql求助
本帖最后由 comcn 于 2022-5-9 14:46 编辑大佬们,我又来了,现在已经完工了,还差两个地方需要优化,请大佬们赐教,实战做就是学得快,但是坑多{:301_1005:}
1,sql语句count(*)如果为·0,就不显示了
能在下方查询结果显示,user_id是55,结果为0吗?
原sql语句,太复杂了,百度看了文章,不知道怎么加上去,一加就报错
SELECT create_user_id,COUNT(*) as gongdan_numFROM w_order_complaint WHERE create_time >= unix_timestamp('$start_date00:00:00') and create_time <=unix_timestamp('$end_date 23:59:59') andcreate_user_id in( '53',‘54’,‘55’ ) group by create_user_id
第二个问题:mysql多表查询也看下不少文章,还是不知道怎么该这个语句
w_order_complaint 是工单数量,查询数量在这个表查询,但是这个表的create_user_id。只是id,并不是工号,
工号表是w_user,(id,name)id就是id,name就是工号
根据w_order_complaint 中的id,去显示w_user中的name
根据sql语句(还是上面的语句,不知道改可以多表查询),id=56,去查询w_user表,比如id=56,name=3456,就在下方查询结果create_user_id显示3456
@Goldrepo @52nyf
https://static.52pojie.cn/static/image/hrline/1.gif
https://static.52pojie.cn/static/image/hrline/1.gif
首先我是小白,代码练手用的,写的渣{:301_1004:}
前台post提交:
http://abc.com/admin.php/account.cxyapitwo?page=1&limit=10&gonghao=54&gonghao=55&startdate=&enddate=
gonghao和gonghao就是我勾选的这两个,等于号后面是数据库对应的id,根据ID查询工单总数,开始结束日期暂时不考虑
现在的问题是sql语句会写,但是很麻烦
select * from table where id=1 这是查询一个id的工单数,但是如果我勾选了5个id,怎么循环写sql语句呢[这里只能用循环,比如勾选了10个,20个id]
第二个疑问
拿到了5个id的工单总数,mysql查询结果5个id工单总数是10,20,30,40,50
这个代码是api接口的代码
$arr = array (
[
array(
'order_type'=>'消费者工单',
'order_date'=>'日期',
'gonghao'=>'第一个工号',
'order_number'=>$gh_today_num,
),
array(
'order_type'=>'消费者工单',
'order_date'=>'日期',
'gonghao'=>'第二个工号',
'order_number'=>$gh_today_num,
),
],
);
echo json_encode($arr);
这个数组,如何循环?
这个是查询完结果,生成api,前台layui表格拿到数据,渲染到第一个图,表格
用ORM里面的whereIN去查询 这里提供下思路,可以得出的数组结果进行循环然后where,也可以用tp提供的函数 wherein select * from tablewhere FIND_IN_SET(news_id,‘1,20,3’) $gonghao = input('gonghao/a');
Model::field('order_type, order_date, gonghao, order_number')->whereIn('id', $gonghao)->select(); 字符串拼接好再传过去 YnnSon 发表于 2022-5-6 16:49
$gonghao = input('gonghao/a');
Model::field('order_type, order_date, gonghao, ...
大佬能帮我把这个sql改下吗
SELECT COUNT(*)FROM table WHERE user_id IN(58,56)
现在计算出来的是,58和56两个id加在一起的总数,能分开吗
comcn 发表于 2022-5-6 16:57
大佬能帮我把这个sql改下吗
SELECT COUNT(*)FROM table WHERE user_id IN(58,5 ...
用下分组函数就可以分开
select id,count(*) from table where user_id in (58,56) group by id Goldrepo 发表于 2022-5-6 17:00
用下分组函数就可以分开
select id,count(*) from table where user_id in (58,56) group by id
感谢感谢,group不太会{:301_993:}