吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1241|回复: 28
收起左侧

[求助] tp6+layui+mysql求助

[复制链接]
comcn 发表于 2022-5-6 15:06
本帖最后由 comcn 于 2022-5-9 14:46 编辑

大佬们,我又来了,现在已经完工了,还差两个地方需要优化,请大佬们赐教,实战做就是学得快,但是坑多
1,sql语句  count(*)如果为·0,就不显示了
786.png
能在下方查询结果显示,user_id是55,结果为0吗?
原sql语句,太复杂了,百度看了文章,不知道怎么加上去,一加就报错
[SQL] 纯文本查看 复制代码
SELECT create_user_id,COUNT(*) as gongdan_num  FROM w_order_complaint WHERE create_time >= unix_timestamp('$start_date  00:00:00') and create_time <=  unix_timestamp('$end_date 23:59:59') and  create_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
56.png

@Goldrepo @52nyf




首先我是小白,代码练手用的,写的渣



前台post提交:
http://abc.com/admin.php/account.cxyapitwo?page=1&limit=10&gonghao[2]=54&gonghao[3]=55&startdate=&enddate=
gonghao[2]和gonghao[3]就是我勾选的这两个,等于号后面是数据库对应的id,根据ID查询工单总数,开始结束日期暂时不考虑

2222222222.png
现在的问题是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接口的代码
[PHP] 纯文本查看 复制代码
                               $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表格拿到数据,渲染到第一个图,表格
微信截图_20220506150350.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
yq5858588 发表于 2022-5-6 16:13
提示: 该帖被管理员或版主屏蔽
nsnake 发表于 2022-5-6 16:20
骑猪踏白菜 发表于 2022-5-6 16:37
这里提供下思路,可以得出的数组结果进行循环然后where,也可以用tp提供的函数 wherein
lierenzhiyue 发表于 2022-5-6 16:42
select * from table  where FIND_IN_SET(news_id,‘1,20,3’)
YnnSon 发表于 2022-5-6 16:49
[PHP] 纯文本查看 复制代码
$gonghao = input('gonghao/a');
Model::field('order_type, order_date, gonghao, order_number')->whereIn('id', $gonghao)->select();
yn9 发表于 2022-5-6 16:54
字符串拼接好再传过去
 楼主| comcn 发表于 2022-5-6 16:57
YnnSon 发表于 2022-5-6 16:49
[PHP] 纯文本查看 复制代码
$gonghao = input('gonghao/a');
Model::field('order_type, order_date, gonghao, ...[/quote]

大佬能帮我把这个sql改下吗
[mw_shl_code=sql,true]SELECT COUNT(*)  FROM table WHERE user_id IN(58,56)

现在计算出来的是,58和56两个id加在一起的总数,能分开吗
微信截图_20220506165631.png
Goldrepo 发表于 2022-5-6 17:00
comcn 发表于 2022-5-6 16:57
大佬能帮我把这个sql改下吗
[mw_shl_code=sql,true]SELECT COUNT(*)  FROM table WHERE user_id IN(58,5 ...

用下分组函数就可以分开
select id,count(*) from table where user_id in (58,56) group by id
 楼主| comcn 发表于 2022-5-6 17:04
Goldrepo 发表于 2022-5-6 17:00
用下分组函数就可以分开
select id,count(*) from table where user_id in (58,56) group by id

感谢感谢,group不太会
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表