【问题标题】:Showing database entries on a PHP calendar在 PHP 日历上显示数据库条目
【发布时间】:2013-01-31 23:05:52
【问题描述】:

我正在创建一个基于网络的预订系统,用户可以在其中将预订添加到数据库中,并且存储在数据库中的详细信息包括(除其他外)“DateBooked、StartTime、EndTime、Room”。

这是从数据库中提取用户点击当天的相关信息的位:
$query="SELECT * FROM bookings WHERE DateBooked = '{$year}-{$selectedmonth}-{$selectedday}'";
$result = mysql_query($query);
$todayarray = mysql_fetch_array($result);

还有 PHP:

$roomcount = 4;  
$room = 1;  
while ($room <= $roomcount)  
{  

echo "\n<div class=\"roomtimes\">";  

echo "\n<table border=1>";

echo "\n<tr><th class=\"titlecell\">Room $room</th></tr>";


$cellnum = 10;

while ( $cellnum < 23 )

    {

    echo "\n<tr>";

    echo "\n<td class=\"linkcell";

    if ($selectedtime==$cellnum)
        {

        echo " selectedcell";
        }

    echo "\">";

    echo "<a href=\"newbooking.php?m=$selectedmonth&d=$selectedday&t=$cellnum&r=$room\">$cellnum:00</a></td>";

    echo "\n</tr>";

    $cellnum++;

    }

    $room++;

echo "\n</table>";
echo "\n</div>";
}

所以我的问题是,如果该房间存在条目并且该单元格中的数字介于该预订的开始时间和结束时间之间,我如何在每个表格单元格中添加一些文本说“已预订”?

我是这个网站的新手,如果我做错了什么或者您需要更多信息,请告诉我,谢谢!

【问题讨论】:

    标签: php mysql calendar


    【解决方案1】:

    您需要划分单元格内容 html 并在其中插入“已预订”文本。我建议你使用mysql_fetch_assoc,这样你就可以获得关联数组,并且更容易获得字段。如果我正确理解您的代码,您也许可以使用这样的东西。此示例替换了其中包含链接输出的行。我在这里使用了 mysq_fetch_assoc 从数据库中获取 StartTime 和 EndTime 字段。您可能需要根据字段的数据格式稍微更改字段。

    echo "<a href=\"newbooking.php?m=$selectedmonth&d=$selectedday&t=$cellnum&r=$room\">$cellnum:00</a>";
    
    if ($todayarray['StartTime'] <= $cellnum && $todayarray['EndTime'] >= $cellnum && $todayarray['Room'] == $room) echo 'BOOKED';
    
    echo "</td>";
    

    【讨论】:

    • 这是有道理的——我会去看看会发生什么。谢谢!
    • 嗯,它似乎不起作用。数据库每天都有多个条目,我是否需要一个“for”循环来检查每个条目?正如您可能会说的那样,我对此有些陌生。 :-) 编辑:忽略这一点,我认为这是我约会方式的问题。我会有一个小提琴,让你知道它是否有效
    • 是的,这就是我存储日期的方式。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多