使用php和mysql创建一个通用搜索框来搜索几个表

时间:2012-09-14 19:12:20

标签: php mysql

我有2张表:tbl_subscribertbl_faculty tbl_subscriber有字段:nameid_numberemailphone

tbl_faculty有:f_namel_nameemailphone

我有一个搜索框。我想编写一个查询,如果我在其中键入电话号码/ email / name / f_name / l_name,那么它应该搜索两个表以匹配提供的条目,它应该返回与该条目对应的所有行。

可以肯定的是,所提供的条目将位于所提到的表中(因为我已经制作了类似的表),而不是两者都有。我的意思是,有一次只有一个表字段匹配,但查询应同时搜索两个表。

2 个答案:

答案 0 :(得分:0)

  select x , y  from tbl_subscriber 
  union all 
  select x , null as y  from tbl_faculty 

答案 1 :(得分:0)

这可能会起到作用:

SELECT name,id_number,email,phone FROM tbl_subscriber
UNION 
SELECT CONCAT(f_name, ' ', l_name) AS name, id_number, email, phone FROM tbl_faculty

您可能需要为名称字段进行一些转换,但它至少解决了具有不同字段数的表的问题。