试图找到一种方法来显示2个表和4行,并显示每个今天和开始时间的顺序

问题描述 投票:0回答:1

我有房间的预订日历,MySQL驱动。我想从2个表中读取数据 - 并从每2行中读取数据:

  • entryid start_time End_time entry_type repeat_id room_id timestamp creat_by name
  • roomid disabled area_id room_name sort_key

理想情况下,我想阅读表start_time中的room_idnameentry列。以及表room_nameroom

我仍然在做梦,所以现在我希望将这些按照相应的分组并在html表中写出,在一行/表中分组为名称,另外三个在表格中,在下面一行

         room name| start time |-|end_time|

我一直在尝试这个,但似乎无法让它做我梦想的事情。

 if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");

// sending query
$result = mysql_query("SELECT * 
       FROM  $bookings
       WHERE start_time >= UNIX_TIMESTAMP(CURRENT_DATE) 
       AND   start_time < UNIX_TIMESTAMP(CURRENT_DATE + INTERVAL 1 DAY) 
       ORDER BY start_time, room_id");

if (!$result) {
    die("Query to show fields from table failed");
}

$fields_num = mysql_num_fields($result);

echo "<h1>Table: {$table}</h1>";
echo "<table border='1'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
// printing table rows
while($row = mysql_fetch_row($result))
{
    echo "<tr>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
        echo "<td>$cell</td>";

    echo "</tr>\n";
}
mysql_free_result($result);
?>
</body></html>

请帮忙

sql html-table rows
1个回答
0
投票

我不知道php,但我认为查询应如下所示:

SELECT start_time, bookings.name, rooms.room_name
FROM bookings
   inner join rooms
      on bookings.RoomID = rooms.RoomID
WHERE start_time >= UNIX_TIMESTAMP(CURRENT_DATE) 
AND start_time < UNIX_TIMESTAMP(CURRENT_DATE + INTERVAL 1 DAY) 
ORDER BY start_time, room_id
© www.soinside.com 2019 - 2024. All rights reserved.