有个问题请教一下
thinkphp吧
全部回复
仅看楼主
level 1
zhlt8888 楼主
mysql有这样一张表clt_arrange,内容如下:
在mysql客户端执行如下代码:
SET @AA='';
SET @BB='';
SET @CC='';
SELECT @AA:=CONCAT(@AA,',case when classroom=\'',classroom,'\' then squad end as \'',classroom,'\'')
FROM (SELECT DISTINCT classroom FROM clt_arrange) T1;
SELECT @BB:=CONCAT(@BB,',',classroom)FROM (SELECT DISTINCT classroom FROM clt_arrange) T1;
SELECT @CC:=CONCAT(@CC,',group_concat(',classroom,') AS \'',classroom,'\'') FROM (SELECT DISTINCT classroom FROM clt_arrange) T1;
SET @SQL=CONCAT('SELECT xx AS \'上课时间\'',@cc,' FROM(select concat(starttime,\'-\',endtime) as xx',
@BB,' from(
select starttime,date_format(T,\'%H:%i\') AS ENDTIME',@BB,' FROM(select date_format(starttime,\'%H:%i\') as starttime ,date_format(endtime,\'%H:%i\') as endtime',
@AA,' from clt_arrange )A left join (select starttime AS S,max(endtime)AS T from clt_arrange group by starttime)t1
on A.starttime=date_format(t1.s,\'%H:%i\')
)b)c
GROUP BY xx');
PREPARE stmt2 FROM @SQL;
EXECUTE stmt2;
执行完这些语句以后会得到这样的结果:
表clt_arrange中的classroom字段的数据是不固定的,随时会增加或删除。通过上面的sql语句能够动态得到想要的
查询结果,现在我的问题是,怎么在thinkphp的控制器里执行这些sql语句?然后将执行结果交给模板的表格去渲染
模板用的layui的数据表格。
2020年04月01日 07点04分 1
level 1
创建一个临时表,然后查询的同时添加到临时表中,最后返回临时表的数据就ok了
2020年04月02日 06点04分 2
level 1
最好是用存储过程来完成
2020年04月02日 06点04分 3
1