2016-07-26 127 views
0

我開發活動網站,之後創建活動,該網站給出的事件網址的用戶像這樣如何讓MySQL中的所有行只有兩個表中的同一列值

www.event.com/?h=6997287a21a94875a1d827f9e2790a6c 
6997287a21a94875a1d827f9e2790a6c 

這個參數是記錄作爲eventTable中的id(主鍵)。我的問題是我創建了一個評論框,所有評論都是在commentTable的記錄,並且它有e_id列,其值與eventTable中的id相同。當事件ID與commentTable中的e_id相同時,如何從commentTable獲取所有評論; enter image description here

回答

0

通過加入這樣的查詢

select * from commentTable inner join eventTable on commentTable.e_id=eventTable.id where commentTable.e_id=111111111 
0
SELECT * FROM commentTable WHERE e_id = event_id 

event_id是事件id參數,在你的榜樣6997287a21a94875a1d827f9e2790a6c

0

這是一個WHERE條款的簡單查詢。

SELECT name, comment FROM commentTable WHERE e_id = 6997287a21a94875a1d827f9e2790a6c 
6997287a21a94875a1d827f9e2790a6c 
0

它只是在select語句中的where子句非常簡單。

select name, comment from commentTable where e_id= '6997287a21a94875a1d827f9e2790a6c 

6997287a21a94875a1d827f9e2790a6c」

0

$ EVENTID = $ _GET [ 'H']; 從eventTable中選擇e.id,e.title,e.date,c.name,c.comment作爲e,commentTable作爲c,其中e.id = c.e_id和e.id = $ eventId;

1

SQL提供JOIN子句,根據它們之間的公共字段組合來自兩個或多個表的行。這裏您可以使用以下查詢:

SELECT * FROM eventTable join commentTable on commentTable.e_id=eventTable.id where commentTable.e_id=6997287a21a94875a1d827f9e2790a6c6997287a21a94875a1d827f9e2790a6c 

查找更多關於SQL JOIN

+0

不需要在這裏使用連接。因爲這裏我們不需要兩個表中的數據。如果在cooment表中有一個叫做6997287a21a94875a1d827f9e2790a6c6997287a21a94875a1d827f9e2790a6c的事件ID,那麼這個id也應該在事件表中。 –

0

然後執行以下代碼,

$event_id=$_GET['h']; 
$sql="SELECT * FROM commentTable WHERE e_id ='$event_id'"; 
$result=mysql_query($sql) or die("Query Failed".mysql_error()); 
$row =mysql_fetch_array($result); 
print_r($row); 
+0

其工作,非常感謝你Jees K Denny – Tuang

+0

Hokie。 ;)你可以像這樣選擇每個值'echo $ row ['comment']; ' –

1

事件ID是在URL中可見。這意味着,您正在使用GET方法。您已將事件ID綁定爲「h」。因此,我們可以按以下方式加載相關活動的評論。

SELECT comments FROM commentTable WHERE e_id=$_GET['h']; 
相關問題