html中如何创建php数组,PHP:从MySQL创建数组以构建HTML日历

博客作者正在开发一个小型预订系统,目标是创建一个HTML日历,显示当天的预订时段以及空闲时间。他们使用PHP从MySQL数据库获取预订信息,并试图构建一个关联数组,以便于填充HTML表格。目前遇到的问题是如何将包含所有可能开始时间的数组与实际预订信息的数组合并。已经尝试了两种方法,但尚未成功。寻求社区的帮助和建议来实现这个目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前,我正在为我想创建已预订时间段概览的小型预订系统工作。PHP:从MySQL创建数组以构建HTML日历

我的数据库中登记的信息保存这样的:

_______________________________________________________________

|id|user_id| starttime | endtime |facilityID|

---------------------------------------------------------------

|1 | 100|2017-08-21 21:00:00|2017-08-21 22:00:00| 11|

---------------------------------------------------------------

现在我想建立一个HTML表,显示当天的时间表,也代表所有的空闲时隙。

TimeFacility #11Facility #12

08:0009:00

...

21:0022:00

...

User 100

Time Facility #11 Facility #12

08:00 09:00 21:00 22:00

User 100

自动填写表格,我认为这将是一个好主意,如果 现有创建一个包含所有可能的starttimes为关键和值的预订信息关联数组。

array(xy) {["08:00"][1]=>string(0) "" [2]=>string(0) "" ["09:00"][1]=>string(0) "" [2]=>string(0) "" ... ["21:00"] [1]=>string(3) "100" [2]=>string(2) "11" ... }

因此,我创建了两个我想合并为一个数组。

阵列1 - Starttimes

array1 = array();

for ($hours = 8; $hours <= 22; $hours++) {

for ($m = 0; $m < 60; $m += 60) {

$starttime_html = sprintf('%02u:%02u', $hours, $m);

$array1[$starttime_html]='';

}

}

阵列2 - 预订

array2 = array();

$statement = $pdo->prepare("SELECT id, user_id, starttime, facility_id FROM mpbs_bookings WHERE starttime >= '2017-08-21 00:00:00'");

$statement->execute(array($id));

while($row = $statement->fetch()) {

$starttime_currentday = explode(" ",$row['starttime']);

$starttime_curr_hm = substr($starttime_currentday[1],0,5);

array_push($array2, array($starttime_curr_hm, $row['facility_id'], $row['user_id']));

}

现在我没有找到一种方法,这两个阵列组合。 除此之外,我会很高兴有关如何实现我的目标的任何建议。

下面是boths数组的内容:

print_r(array1);

Array ([08:00] => [09:00] => ... => [21:00] => [22:00]=>)

print_r(array2);

Array ([0] => Array ([0] => 18:00 [1] => 6 [2] => 22) [1] => Array ([0] => 19:00 [1] => 4 [2] => 11) [2] => Array ([0] => 20:00 [1] => 2 [2] => 5) [3] => Array ([0] => 20:00 [1] => 9 [2] => 8) [4] => Array ([0] => 21:00 [1] => 11 [2] => 34))

预先感谢。

Lars

+2

你需要什么第二阵列的解决方案?只需使用嵌套循环输出你的日子和小时数,然后检查你的数据数组中是否有当前日期和时间的条目......如果是这样,输出数据,否则“无”作为当前表的内容细胞... –

+0

我同意CBroe,你不需要第一个数组。但是,如果你坚持使用它,你可以使用'array_merge'函数来实现你想要的。 http://php.net/manual/en/function.array-merge.php –

+0

嘿,谢谢你的评论。我正在尝试这两种建议,但是我还没有达到我的目标......我在PHP编程方面不是很有经验。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值