2012-11-16 41 views
0

我想顯示來自phpMyadmin數據庫的兩個表中的數據。 我有一個網站,其中有一個表單,您可以放置​​要查找的信息,然後應該從數據庫中的兩個表中顯示此信息。我知道我必須使用SQL JOIN,我嘗試了不同的方法,並且無法弄清楚。我感謝所有幫助使用PHP顯示來自兩個表的數據

這裏是我的PHP代碼:

AND INBOUND_FLIGHT.AIRCRAFT_FROM = '$from'AND 

AND INBOUND_FLIGHT.AIRCRAFT_FROM = '$from' AND 

回答

1

我:

<?php 
//connect to database: 
$con = mysql_connect("SERVER", "LOGIN", "PASS") or die("Connection Failed"); 
mysql_select_db("TABLE", $con) or die ("Connection Failed"); 

//create a PHP variable to hold the value from HTML form 
$from = $_POST['arrival']; 
$to = $_POST['destination']; 
$time = $_POST['time']; 
$tailnumber = $_POST['tailnumber']; 

$error_status = false; 

// validating input 
if (empty($_POST['arrival'])){ 
echo "Please enter the origin."; 
$error_status = true; 
} 
if (empty($_POST['destination'])){ 
echo "</br></br> Please enter the destination."; 
$error_status = true; 
} 
if (empty($_POST['time'])){ 
echo "</br></br> Please enter the date."; 
$error_status = true; 
} 
if (empty($_POST['tailnumber'])){ 
echo "</br></br> Please enter the tail number."; 
$error_status = true; 
} 

//create the query for selecting all the records which equal to the value from the form 
if(!$error_status) { 
$query = "SELECT * 
FROM INBOUND_FLIGHT 
INNER JOIN OUTBOUND_FLIGHT 
ON INBOUND_FLIGHT.TAIL_NUMBER = OUTBOUND_FLIGHT.TAIL_NUMBER 
WHERE INBOUND_FLIGHT.ARRIVAL_TIME = '$time' AND INBOUND_FLIGHT.TAIL_NUMBER = '$tailnumber' AND INBOUND_FLIGHT.AIRCRAFT_FROM = '$from'AND OUTBOUND_FLIGHT.AIRCRAFT_TO = '$to'"; 

//run query 
$result = mysql_query($query); 
// creating a table 
echo "<table border='1'> 
<tr> 
<th>ARRIVAL TIME</th> 
<th>AIRCRAFT TYPE</th> 
<th>TAIL NUMBER</th> 
<th>CREW NAME</th> 
<th>ORIGIN</th> 
<th>DESTINATION</th> 
</tr>"; 

//Print the record that matches the criteria of the query 
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
echo "<tr>"; 
echo "<td>" . $row['INBOUND_FLIGHT.ARRIVAL_TIME'] . "</td>"; 
echo "<td>" . $row['INBOUND_FLIGHT.AIRCRAFT_TYPE' ] . "</td>"; 
echo "<td>" . $row['INBOUND_FLIGHT.TAIL_NUMBER'] . "</td>"; 
echo "<td>" . $row['INBOUND_FLIGHT.CREW_NAME'] . "</td>"; 
echo "<td>" . $row['INBOUND_FLIGHT.AIRCRAFT_FROM'] . "</td>"; 
echo "<td>" . $row['OUTBOUND_FLIGHT.AIRCRAFT_TO'] . "</td>"; 
}} 
//close the connection 
mysql_close($con); 
echo "</table>"; 
?> 
+0

omg我們是多麼愚蠢....只是一個簡單的錯誤,並沒有想出它,如果你認爲我們的答案比你可以upvote有幫助,你可以接受正確的anwer –

0

在下面的查詢部分將一個空間'$from'後它工作。

我用

SELECT * 
FROM INBOUND_FLIGHT, OUTBOUND_FLIGHT 
... 

再變回波顯示

echo "<td>" . $row['ARRIVAL_TIME'] . "</td>"; 
... 
... 
+0

我沒有把空間,但它仍然無法正常工作。 – Tomala

+0

@Tomala:你什麼意思是「沒有工作」?它是否給出了一些錯誤,或者您得到的結果與預期不同。另外什麼是'ARRIVAL_TIME'的數據類型和你通過$ time的值是多少? –

+0

我沒有收到任何錯誤消息。 我得到的是一張空白表格,裏面沒有數據,但是數據庫中有數據要顯示。 我通過$ time傳遞「date」類型。 它曾經是DATETIME,但我已將其更改爲僅DATE,但我還沒有將ARRIVAL_TIME更改爲ARRIVAL_DATE。但是,我在「到達時間」表單中鍵入「2012-11-13」以獲取信息,因此它可以正常工作。 – Tomala

相關問題