在 mysql 数据库中,我有以下表格和 html 搜索表单。现在我想从多个表中搜索选定的数据(来自搜索表单)。所选数据可以是性别
、预算
或位置
。至于位置,我有 7 张 table 。 (No. 2-8),当用户注册为该位置时,每 7 个表第二列值可以是 0
或 1
。所以在此位置字段用户在搜索时可以选择中部或东部或西部或...其他。
那么如何编写 sql 查询(或 Sql Join 查询)来从 Mysql 表中获取结果进行搜索?
Php 变量:
$gender = inputvalid($_POST['gender']);
$budget = inputvalid($_POST['budget']);
$location = inputvalid($_POST['location']);
表名和列名
1. tutor_signup_form (tutor_id, gender, feerange, name, email)
2. tutor_signup_pre_central (tutor_id, pre_c_central, place1, place2, place3)
3. tutor_signup_pre_west (tutor_id, pre_w_west, place1, place2, place3)
4. tutor_signup_pre_east (tutor_id, pre_e_east, place1, place2, place3)
5. tutor_signup_pre_south (tutor_id, pre_s_south, place1, place2, place3)
6. tutor_signup_pre_north (tutor_id, pre_n_north, place1, place2, place3)
7. tutor_signup_pre_ne (tutor_id, pre_ne_northEast, place1, place2, place3)
8. tutor_signup_pre_nw (tutor_id, pre_nw_northWest, place1, place2, place3)
我的搜索表单如下所示:
<tr>
<td style="width:100px;">1. Gender:</td>
<td>
<select name="gender">
<option value="">--Select--</option>
<option value="male">Male only</option>
<option value="female">Female only</option>
</select>
</td>
</tr>
<tr>
<td>2. Budget:</td>
<td>
<select name="budget">
<option value="" SELECTED>--Select--</option>
<option value="90">$90 and below</option>
<option value="80">$80 and below</option>
<option value="70">$70 and below</option>
<option value="60">$60 and below</option>
<option value="50">$50 and below</option>
<option value="40">$40 and below</option>
<option value="30">$30 and below</option>
<option value="25">$25 and below</option>
<option value="20">$20 and below</option>
<option value="15">$15 and below</option>
<option value="10">$10 and below</option>
</select>
</td>
</tr>
<tr>
<td>3. Location:</td>
<td>
<select name='location'>
<option value="" SELECTED>--Select--.</option>
<option value='1' />Central City</option>
<option value='2' />East City</option>
<option value='3' />West City </option>
<option value='4' />South City </option>
<option value='5' />North City </option>
<option value='6' />North East </option>
<option value='7' />North West </option>
</select>
</td>
</tr>
最佳答案
你可以试试这个:已编辑
if($location == '1'){
$tableName="tutor_signup_pre_central";
}
if($location == '2'){
$tableName="tutor_signup_pre_west";
}
其他表也一样......然后是sql。
$sql = "select tutor_signup_form.*,$tableName.place1,$tableName.place2,$tableName.place3 from tutor_signup_form left join $tableName on tutor_signup_form.tutor_id = $tableName.tutor_id where tutor_signup_form.gender= $gender and tutor_signup_form.feerange=$budget";
如果需要,可以进行一些修改。
关于php - 使用sql查询从多个表中搜索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25541465/