当id匹配时,如何从另一个表中获取名称?

时间:2014-07-30 19:42:31

标签: mysql variables match

好吧,我在这里吮吸(尽管我正在努力学习)。当我看到别人回答类似的问题(我知道它可能会重复)时,我无法理解如何改进我的代码,而且此刻我仍然坚持完成php文件的最后一步。我有一张名为" cities"哪里有名为" id"和"名称"另一个名为" locations"哪里有列" id"和"位置"。我也有代码:

$query = "SELECT * FROM locations"; 
$res = mysql_query($query); 
while ($arr = mysql_fetch_array($res, MYSQL_ASSOC))
{
 echo '<b>'.$arr['id'].'</b><b>'.$arr['location'].'</b>';
}

虽然我的代码有效并且我得到了想要ID的ID,但我需要获取城市名称而不是id。两个表中的ID匹配。我无法编辑表格或列。我应该添加什么?可以在没有任何遗留,加入,等等查询的情况下解决吗?尽管我正在尝试......我无法理解他们。

1 个答案:

答案 0 :(得分:1)

试试这个

$r = mysql_query("SELECT l.id, c.name 
    FROM locations AS l
    INNER JOIN cities AS c ON c.id = l.id
");

while($l = mysql_fetch_array($r, MYSQL_ASSOC)){
    echo '<b>' . $l['id'] .'</b><b>' . $l['name'] . '</b>';
}