gpt4 book ai didi

php - 保留时间(日历)返回错误值。

转载 作者:行者123 更新时间:2023-11-29 23:15:54 25 4
gpt4 key购买 nike

我在从已预订日期的数据库获取数据时遇到问题。

示例预订时间为:08:00:00 和 10:00:00,我想显示免费时间为 13:00:00 和 15:00:00

但它给了我 10:00 13:00 15:00 08:00 10:00 15:00 作为空闲时间。

$ch = $db->execute("SELECT `time` FROM `calendar` WHERE `date` = '2015-01-08'");
while(list($time) = $db->fetch($ch)) {


if($time != "08:00:00") { echo"<option value=\"08:00\">08:00</option>"; }
if($time != "10:00:00") { echo"<option value=\"10:00\">10:00</option>"; }
if($time != "13:00:00") { echo"<option value=\"13:00\">13:00</option>"; }
if($time != "15:00:00") { echo"<option value=\"15:00\">15:00</option>"; }

}

最佳答案

会不会是逻辑问题?
您的查询似乎返回了该日期的所有时间。
因此,如果它返回的第一个值是08:00:00,它将在所有其他 3 个 if 上echo

 echo"<option value=\"10:00\">10:00</option>";
echo"<option value=\"13:00\">13:00</option>";
echo"<option value=\"15:00\">15:00</option>";

但它会对所有返回的时间执行相同的逻辑,因此您会看到重复的时间。

您可以尝试将所有选项添加到数组中。然后,当循环返回值时,如果该项目等于返回值,则从数组中删除该项目。
这样你最终就只有空闲时间

这是一些伪代码,可让您了解可能的解决方案

timeArray = [08:00, 10:00, 13:00, 15:00]


$ch = $db->execute("SELECT `time` FROM `calendar` WHERE `date` = '2015-01-08'");
while(list($time) = $db->fetch($ch)) {

//If item is found, remove it from 'free time array'
found = find_in_array(timeArray, returnedTime)
if (found > 0) {
remove_item_from_array( timeArray, found )
}

}

timeArray 现在应该只包含 ( 13:00, 15:00 )

关于php - 保留时间(日历)返回错误值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com