检查数据库中的时间是否超过特定小时

时间:2015-11-26 23:43:13

标签: php html sql html-table

我正在使用PHP制作日历并遇到了一些问题:

http://imgur.com/mlNxAdT

我希望日历更加自动化,因为我手动创建表并将时间和天数放在自己身上,这很好,但我的问题是我需要每个单独的SQL函数每个小时(从10:00-17:00)每一天,这似乎非常低效。

我的HTML表格代码是这样构建的:

<tr>
  <td>
    <span>
      <p style="float:left">10:00</p>
      <p style="float:right">&nbsp;&nbsp;&nbsp;(<?php echo $var->monday_10; ?>)</p>
    </span>
  </td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

我有这个PHP函数:

public function get_CalendarCount($conn)
{
    // TODO: Comment this function
    // TODO: If a booking goes over a time (eg. 13:00) then add to count
    $sql = 
    "
    SELECT DAYNAME(arrivalTime) AS day, COUNT(*) AS count
    FROM bookings
    WHERE HOUR(arrivalTime) = 10
    AND DAYNAME(arrivalTime) = 'Monday'
    ";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) 
    {
        while($row = $result->fetch_assoc()) 
        {
            $this->monday_10 = $row["count"];
        }
    } 
    else 
    {
        echo "0 results";
    }
}

正如您所看到的,此示例(13.00)和日(星期一)的时间是手动输入的。如何更改此值以便从表中获取时间/日期并保持与每个时间相同的功能TD?

此外,我想改变我的SQL查询(如PHP get_CalendarCount函数所示),以便检查数据库中的预订是否超过一段时间(例如,到达时间10:00 - pickupTime 12:00 - 两者10:00和11:00需要计算,预订时间为10:00和11:00(每次1小时):

(http://imgur.com/7A0cxGr)

非常感谢帮助,因为我有点卡在这里,无法真正为这个解决方案找到任何东西。

1 个答案:

答案 0 :(得分:1)

这不是回答逻辑,您应该更改但在查询中使用变量的问题,因此您不必手动将它们放入。有关制作hour和{的问题{1}}变量需要更改此内容:

dayname

成:

public function get_CalendarCount($conn)
{
$sql ="SELECT DAYNAME(arrivalTime) AS day, COUNT(*) AS count
FROM bookings WHERE HOUR(arrivalTime) = 10 AND DAYNAME(arrivalTime) = 'Monday'";