[英]MySQL Inner join output to html table in php
我有一個表格,該表格以如下形式顯示: http : //puu.sh/5VBBv.png
表格的末尾,城市,正在顯示一個城市的ID,該ID應該鏈接到另一個表( http://puu.sh/5VBIG.png )。
我對INNER JOIN查詢所做的工作是:
mysql_query("SELECT * FROM cities INNER JOIN people ON people.cityid = cities.id") or die(mysql_error());`
我正在嘗試將其輸出到表中:
echo "<td>" . $row['cityid'] . "</td>";
我的問題是我不太確定如何實際顯示與城市名稱相對應的城市ID。 我嘗試使用['name']和其他值作為要在表中輸出的值,到目前為止,我在任何地方都找不到解決方案。 我只是在學習聯接,所以我對自己可能做錯的事情一無所知。 有什么明顯的東西嗎?
首先,您在聯接查詢中使用*
可能是模棱兩可的。 如果城市有一個名稱列,而人們有一個名稱列,您將不知道會得到哪一個。 其次,您可以通過幾種方式執行此操作。 我認為您正在嘗試從城市名稱獲取城市ID。 如果是正確的話,您可以進行make和ajax調用並直接查詢它,或者定義一個數組,如下所示:
$res = mysql_query("...");
$city_ids = Array();
while ($ary = mysql_fetch_assoc($res)) {
city_ids[$ary['name']] = Ary['id'];
}
然后,當您獲得名稱時,只需循環$ary['name']
。
從人中選拔和加入城市更有意義。 然后選擇您需要的字段。
SELECT people.*, cities.name as city_name FROM people JOIN cities ON people.cityid = cities.id
然后, echo $row['city_name']
Select ID from cities city, people person where person.ID = city.ID
您正在從“城市”和“人”中選擇ID,然后加入ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.