如何使用自动完成搜索两个表

时间:2011-03-18 01:22:48

标签: php jquery mysql database

我有两个表,'州'和'城市',我希望自动完成从状态和城市的字段中搜索两个表中的任何结果。我还没能做到,但我已经能够搜索一个表但似乎无法找到如何搜索这两个表。

表:

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);
}

1 个答案:

答案 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