在7天日历中显示当前周的mysql数据

时间:2012-11-27 13:29:35

标签: php mysql

我需要一个指导手,我如何在星期一开始的7天日历中显示“当前周”,我自愿参加的一个小剧院,各种自愿城镇小组使用房间。
我的数据库名称= rooms,table = roomdiary,它有7个字段(field_1到Field_7)。

我可以使用“选择”查询&amp ;;来填充dbase中的数据。 php isset code需要的地方。 但我很难知道如何在正确的日子里正确显示正确的房间里的“当前周”数据。 >

////// Mon... Tues . Wed .. Thu .. Fri . Sat .. Sun
room 1 data . data . data . data . data  data . data
room 2 data . data . data . data . data  data . data
room 3 data . data . data . data . data  data . data
room 4 data . data . data . data . data  data . data
room 5 data . data . data . data . data  data . data
room 6 data . data . data . data . data  data . data
room 7 data . data . data . data . data  data . data    

我为没有发布任何代码而道歉,因为我认为任何通用建议都会有所帮助并帮助我学习。任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:1)

  1. 重新设计您的数据库,制作餐厅(room_id,room_name)和餐桌时间表(room_id,date,data,week_nr,year)

  2. 始终将date_nr写入数据库 - 日期('W',时间戳)

  3. 如果您不想在数据库中存储week_nr,请尝试strtotime('Last monday',timestamp)和strtotime('Next sunday',timestamp)并从数据库日期中选择范围

    < / LI>

答案 1 :(得分:1)

我建议您将此问题拆分为两个

  1. 计算显示期间的开始(=“哪个日期是当前的星期一”)
  2. 选择并显示您的记录
  3. 第一点很容易使用PHP的date()getdate()函数,第二点可以通过SELECT ... WHERE datecolumn BETWEEN monday_date AND sunday_date实现。

    这有助于模块化您的程序:如果您想添加将来的显示选项该怎么办?如果你的剧院决定不在星期一演出怎么办?

    此外,我建议不要将7个房间分成7个字段:关系方法会有一个“房间”表(目前有7行)和一个连接房间和日期的“表演”表。如果您添加“程序”表并将其链接到“表演”表,您已经免费获得程序数据。