2012-03-24 4 views
0

Ich habe einen Buchungskalender für Räume, MySQL gesteuert. Ich möchte Daten aus zwei Tabellen lesen - und aus je 2 Reihen:Ich suche nach einer Möglichkeit zur Anzeige von 2 Tabellen und 4 Zeilen und Anzeige pro Tag und Reihenfolge der Startzeit

  • Tabelle entry:

    id 
    start_time 
    End_time 
    entry_type 
    repeat_id 
    room_id 
    timestamp 
    creat_by 
    name 
    
  • Tabelle room:

    id 
    disabled 
    area_id 
    room_name 
    sort_key 
    

Im Idealfall möchte ich um die Spalten start_time, undzu lesen 210 aus Tabelle entry. Sowie die room_name aus Tabelle room.

ich noch so bin jetzt träumen würde Ich mag diese durch entsprechende und geschrieben in HTML-Tabelle als Name in einer Zeile/Tisch und die drei anderen in einer Tabelle, die eine die Zeile unter

  room name| start time |-|end_time| 
gruppiert gruppiert haben

Ich habe es versucht, aber ich kann es nicht dazu bringen, das zu tun, wovon ich träume.

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> 

Bitte helfen

+0

Dank nikola, ich glaube ich ein wenig verstehen morebutwhen I probiere es Ich erhalte nur eine unerwartete T_Variable in der ersten Zeile der Abfrage: // sende die Abfrage $ result = mysql_query (SELECT * FROM $ bookings.start_time, $ bookings.name, $ rooms.room_name VON $ bookings inner join $ Zimmer auf $ books.RoomID = $ rooms.RoomID WHERE start_time> = UNIX_TIMESTAMP (CURRENT_DATE) UND start_time Rutan

Antwort

0

ich über PHP weiß es nicht, aber ich denke, dass die Abfrage sollte wie folgt aussehen:

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