3

我需要一个指导手,我如何显示从星期一开始的“当前周”,在 7 天日历中按 7 个房间的网格,对于我志愿服务的一个小剧院,各种志愿城镇团体使用这些房间。
我的数据库名称=房间,表=房间日记,它有 7 个字段(field_1 到 Field_7)。

我可以在需要时使用“选择”查询和 php isset 代码从 dbase 中填充每一天的数据。但我对如何在正确的一天在正确的房间中正确显示“当前周”数据感到困惑。>

////// 周一...周二。星期三 .. 星期四 .. 星期五 . 周六周日
房间 1 数据。数据 。数据 。数据 。数据数据。数据
房间 2 数据。数据 。数据 。数据 。数据数据。数据
3号房间数据。数据 。数据 。数据 。数据数据。数据
4号房数据。数据 。数据 。数据 。数据数据。数据
5号房间数据。数据 。数据 。数据 。数据数据。数据
6号房间数据。数据 。数据 。数据 。数据数据。数据
7号房间数据。数据 。数据 。数据 。数据数据。数据    

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

4

2 回答 2

2

我建议你把这个问题一分为二

  1. 计算显示周期的开始(“哪个日期是当前星期一”)
  2. 选择并显示您的记录

第一点很容易使用 PHPdate()getdate()函数,第二点可以通过SELECT ... WHERE datecolumn BETWEEN monday_date AND sunday_date.

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

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

于 2012-11-27T13:44:39.033 回答
1
  1. 重新设计您的数据库,制作餐桌房间(room_id,room_name)和餐桌时间表(room_id,date,data,week_nr,year)

  2. 总是用 date 也将 week_nr 写入数据库 - date('W', timestamp)

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

于 2012-11-27T13:33:44.037 回答