【问题标题】:Trying to find a way to display from 2 tables and 4 rows and display per today and order of start time试图找到一种从 2 个表格和 4 行中显示并按今天和开始时间顺序显示的方法
【发布时间】:2017-12-31 00:35:37
【问题描述】:

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

  • entry:

    id
    start_time
    End_time
    entry_type
    repeat_id
    room_id
    timestamp
    creat_by
    name
    
  • room

    id
    disabled
    area_id
    room_name
    sort_key
    

理想情况下,我想从表 entry 中读取列 start_timeroom_idname。以及来自表roomroom_name

我还在做梦,所以现在我想将这些按对应分组并写在 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>

请帮忙

【问题讨论】:

  • 谢谢 nikola,我想我明白了一点,但是当我尝试它时,我只在查询的第一行得到意外的 T_Variable:// 发送查询 $result = mysql_query(SELECT * FROM $bookings. 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

标签: sql html-table rows


【解决方案1】:

我不了解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

【讨论】:

    猜你喜欢
    • 2019-04-05
    • 1970-01-01
    • 2020-10-31
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多