繁体   English   中英

根据搜索表单FIELDS从多个表中搜索数据

[英]Search data from Multiple table based on a search form FIELDS

好吧,我有一个搜索表单,其中包含许多字段,例如... Html Dropdown选择的字段和许多Checkbox字段。

所以我想从基于表单的mysql数据库多个表中搜索数据。 在此表单中, 我可以仅选择下拉框,也可以选择所有复选框,也可以选择几个复选框。

这样我就可以使用以下sql查询来获取数据。 它仅显示1个表数据。 我需要从多个表中获取数据。 sql查询应该是什么样的?

    $search = mysql_query("SELECT * FROM tutor_signup_form WHERE gender = '$gender' OR feerange <= '$budget' ");
    $num =  mysql_num_rows($search);

具有列名称的数据库表:

tutor_signup_form        (id, gender, feerange, name, fname, lname)
tutor_signup_edu_olevel  (id, o_psd, o_diploma, o_degree)
tutor_signup_edu_alevel  (id, a_psd, a_diploma, a_degree)
tutor_signup_edu_diploma (id, d_psd, d_diploma, d_degree)
tutor_signup_edu_degree  (id, dig_psd, dig_diploma, dig_degree)

感谢您的建议或帮助!

更新:

// search gender    
$query =  mysql_query("SELECT DISTINCT tutor_signup_form . *, tutor_signup_edu_psle . *, tutor_signup_edu_olevel . *, tutor_signup_edu_alevel . *, tutor_signup_edu_diploma . *, tutor_signup_edu_degree . *, tutor_signup_edu_masters . *, tutor_signup_edu_psd . *, tutor_signup_level_primary . *, tutor_signup_level_olevel . *, tutor_signup_level_alevel . *, tutor_signup_level_int . *, tutor_signup_level_uni . *, tutor_signup_level_music . *, tutor_signup_level_lang . *, tutor_signup_level_com . *, tutor_signup_pre_central . *, tutor_signup_pre_east . *, tutor_signup_pre_west . *, tutor_signup_pre_south . *, tutor_signup_pre_north . *, tutor_signup_pre_ne . *, tutor_signup_pre_nw . *  FROM tutor_signup_form

INNER JOIN tutor_signup_edu_psle ON tutor_signup_form.tutor_id = tutor_signup_form.tutor_id     
INNER JOIN tutor_signup_edu_olevel ON tutor_signup_form.tutor_id = tutor_signup_edu_olevel.tutor_id
INNER JOIN tutor_signup_edu_alevel ON tutor_signup_form.tutor_id = tutor_signup_edu_alevel.tutor_id 
INNER JOIN tutor_signup_edu_diploma ON tutor_signup_form.tutor_id = tutor_signup_edu_diploma.tutor_id
INNER JOIN tutor_signup_edu_degree ON tutor_signup_form.tutor_id = tutor_signup_edu_degree.tutor_id
INNER JOIN tutor_signup_edu_masters ON tutor_signup_form.tutor_id = tutor_signup_edu_masters.tutor_id
INNER JOIN tutor_signup_edu_psd ON tutor_signup_form.tutor_id = tutor_signup_edu_psd.tutor_id
INNER JOIN tutor_signup_level_primary ON tutor_signup_form.tutor_id = tutor_signup_level_primary.tutor_id
INNER JOIN tutor_signup_level_olevel ON tutor_signup_form.tutor_id = tutor_signup_level_olevel.tutor_id
INNER JOIN tutor_signup_level_alevel ON tutor_signup_form.tutor_id = tutor_signup_level_alevel.tutor_id
INNER JOIN tutor_signup_level_int ON tutor_signup_form.tutor_id = tutor_signup_level_int.tutor_id
INNER JOIN tutor_signup_level_uni ON tutor_signup_form.tutor_id =  tutor_signup_level_uni.tutor_id
INNER JOIN tutor_signup_level_music ON tutor_signup_form.tutor_id = tutor_signup_level_music.tutor_id
INNER JOIN tutor_signup_level_lang ON tutor_signup_form.tutor_id = tutor_signup_level_lang.tutor_id
INNER JOIN tutor_signup_level_com ON tutor_signup_form.tutor_id =  tutor_signup_level_com.tutor_id
INNER JOIN tutor_signup_pre_central ON tutor_signup_form.tutor_id = tutor_signup_pre_central.tutor_id
INNER JOIN tutor_signup_pre_east ON tutor_signup_form.tutor_id = tutor_signup_pre_east.tutor_id
INNER JOIN tutor_signup_pre_west ON tutor_signup_form.tutor_id = tutor_signup_pre_west.tutor_id
INNER JOIN tutor_signup_pre_south ON tutor_signup_form.tutor_id = tutor_signup_pre_south.tutor_id
INNER JOIN tutor_signup_pre_north ON tutor_signup_form.tutor_id =  tutor_signup_pre_north.tutor_id
INNER JOIN tutor_signup_pre_ne ON tutor_signup_form.tutor_id = tutor_signup_pre_ne.tutor_id
INNER JOIN tutor_signup_pre_nw ON tutor_signup_form.tutor_id = tutor_signup_pre_nw.tutor_id 
WHERE tutor_signup_form.feerange <= '$budget' ");

请看看MYSQL JOIN

举个例子:

$query="select A.gender,B.o_psd from tutor_signup_form as A,tutor_signup_edu_olevel as B where A.id=B.id"; //just an example condition

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM