[请益] 显示排班表

楼主: jscorpio1 (我 天蝎)   2014-06-15 10:22:22
排班表依日期只显示星期一到日
分成早上、下午、晚上、大夜(6小时一班)
门口有东、西、南、北
大概如下
星期一(6/16) 星期二(6/17) 星期三(6/18) 星期四(6/19) 星期五(6/20) ....
东门:AAA
早 西门:BBB
上 南门:CCC
北门:DDD






我现在的做法是
以循环方式显示架构,在每一个<td></td>之间,以日期及班表时间为条件进行SELECT
每检视一次班表,就要对数据库进行28次(4班*7天)的query
因为接下来有可能要改成2小时一班
这样的话,query次数就会变成84次(12班*7天)
使用者只要按一次refresh,就要84次的query
觉得这样的次数有点多,但想了很久,也没有想到比较好的解决方式
想请问大家,有没有其他比较好的做法呢?
还是说84次,对数据库而言,是一块小蛋糕??
作者: up9cloud (九天)   2014-06-15 11:16:00
84很少,除非你是弄84*connection那就有点多
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-06-15 11:23:00
搞到84次也太夸张,活用group by可以减少次数
楼主: jscorpio1 (我 天蝎)   2014-06-15 13:38:00
是只有1个connection。可以请moon大说详细一点吗?
作者: chenstin (orz)   2014-06-15 18:17:00
你可以一次查出来放阵列去对照,就不用一个日期一个班别这样跑sql
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-06-15 19:45:00
自己讲得模模糊糊要详细,你table交出来先
作者: jhunkyoiori (瓦尔加布)   2014-06-15 20:59:00
MOON大跟chen大的方法都可以减少SELECT的次数
作者: j87b0003 (I'm 邱老虎)   2014-06-15 21:48:00
有考虑过用json的存法吗? 一天只要一笔,不过查询就麻烦
作者: dlikeayu (太阳拳vs野球拳)   2014-06-15 23:28:00
二维array存全部人的班表,要不肥就只存一天最后serialize进db 真要快就用no-sql来处理资料
楼主: jscorpio1 (我 天蝎)   2014-06-16 00:45:00
MOON大,不好意思,我不是很清楚你的意思,我以为文中的班表已经提供足够的资讯了,请问我还需要提供些什么?感谢chen大,我会试看看array的方式。
作者: crossdunk (推嘘自如)   2014-06-16 09:14:00
他是需要你提供资料表吧@@ 不然怎么知道你是怎么存在里
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-06-16 12:45:00
阿你workdate, worktime, location一起GROUP BY不就结了
作者: alog (A肉哥)   2014-06-16 14:38:00
page cache

Links booklink

Contact Us: admin [ a t ] ucptt.com