php
  • mysql
  • calendar
  • 2013-01-31 88 views 0 likes 
    0

    我正在創建一個基於Web的預訂系統,用戶可以將預訂添加到數據庫中,並且存儲在數據庫中的詳細信息是(其中包括)「DateBooked,StartTime,EndTime,Room 」。在PHP日曆上顯示數據庫條目

    下面是拉當天在用戶點擊了從數據庫中相關信息的位:
    $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>"; 
    } 
    

    所以我的問題是,我怎麼能如果該房間存在條目並且該單元中的數字處於該預訂的開始時間和結束時間之間,則在每個表格單元格內添加一些文字「BOOKED」?

    我是新來這個網站,所以讓我知道如果我做錯了什麼或者你需要更多的信息,謝謝!

    回答

    0

    您需要劃分單元格內容html並在其中插入「BOOKED」文本。而且我建議你使用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>"; 
    
    +0

    這是有道理的 - 我會去看看會發生什麼。謝謝! –

    +0

    嗯,它似乎並沒有工作。數據庫每天都有多個條目,我是否需要'for'循環來檢查每個條目?正如你可能會說的,我對此有點新。 :-) 編輯:忽略這一點,我認爲這是我做日期的方式問題。我會有一個小提琴,讓你知道它是否工作 –

    +0

    是的,這是我存儲日期的方式。感謝您的幫助! –

    相關問題