我有两个表,'州'和'城市',我希望自动完成从状态和城市的字段中搜索两个表中的任何结果。我还没能做到,但我已经能够搜索一个表但似乎无法找到如何搜索这两个表。
表:
States
======
id
state
Cities
======
id
city
这就是我循环结果的方式......
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['stateid'];
$row_array['value'] = $row['state'];
array_push($return_arr,$row_array);
}
答案 0 :(得分:3)
连接到MySQL时,请使用此
,而不是在单个表上使用查询select 'state' as type, id, state
from states
union all
select 'city', id, city
from cities
名为“State”的结果列包含州和城市名称。您可能还希望使用“类型”列来标识所选名称(来自数组)是州还是城市。
围绕它进行包装可能更容易,因此您可以对组合结果进行过滤:
SELECT type, id, state
FROM
(
select 'state' as type, id, state
from states
union all
select 'city', id, city
from cities
) X
WHERE ... # you can put a where clause here