我有6下拉PHP。用户可以选择一个下拉菜单或全部下拉菜单,根据用户选择,我需要运行mysql查询。我的问题是,如果我使用AND,则用户必须从所有下拉菜单中选择一个选项。如果我使用OR,结果将非常非常奇怪。我需要一个用于组合值选择的解决方案,当我单击表以打开结果链接时,我需要一个解决方案。我现在有这个:
<select name="categorie" class="form-control m-bot15">
<option value= option 1> Option 1 </option>
<option value= option 2> Option 2 </option>
</select>
<select name="employeename" class="form-control m-bot15">
<option value= option 1> Option 1 </option>
<option value= option 2> Option 2 </option>
</select>
etc....
<?php
if(isset($_GET['from'])){ $from = $_GET['from']; }
if(isset($_GET['to'])){ $to = $_GET['to']; }
$agenti = $_GET['agenti'];
$task = $_GET['task'];
$categorie = $_GET['categorie'];
$clienti = $_GET['clienti'];
$raw_results = mysql_query("SELECT distinct ch.employeename, ch.customername, ch.QuestionnaireName, ch.parentgroupname,
ch.groupname, vd.visitdate, vd.customerowner from chestionare ch
inner join visitdetails vd on vd.visitid = ch.visitid
WHERE vd.visitdate >= '".$_GET['from']."' AND vd.visitdate <= '".$_GET['to']."' OR
ch.employeename= '$agenti' OR ch.questionnairename= '$task' OR ch.parentgroupname= '$categorie' OR vd.customerowner= '$clienti'
")
or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
?>
<tr>
<td><?php echo '<a href="g_angajat.php?name='.$agenti.'&from='.$from.'&to='.$to.'&clienti='.$clienti.'&task='.$task.'&categorie='.$categorie.'">' ?> <?php echo $results['employeename']; ?></a></td>
.... table for each dropdown
</tr>
<?php } }?>
有人能帮我吗?谢谢
最佳答案
这样解决:
$employeename= $_GET['employeename'];
<select name="employeename">
<option value="%">All Employees</option>
<option value="John"John</option>
</select>
...... x 6 times with different name for each select
现在在mysql中:
SELECT distinct ch.employeename, ch.customername, ch.QuestionnaireName, ch.parentgroupname,
ch.groupname, vd.visitdate, vd.customerowner from chestionare ch
inner join visitdetails vd on vd.visitid = ch.visitid
WHERE vd.visitdate >= '".$_GET['from']."' AND vd.visitdate <= '".$_GET['to']."' AND
ch.employeename like '$employeename' AND ch.questionnairename like '$task' AND ch.parentgroupname like '$parentgroupname' AND vd.customerowner like '$customers'
结果:
如果您从雇员下拉菜单JOHN中选择,它将仅返回雇员JOHN的结果。如果从相同的下拉列表中选择“所有员工”,它将返回所有员工的结果。所有其他下拉菜单都使用相同的技术,并且结合使用时效果很好。
:)) 很简单。
关于php - 下拉菜单中的php和sql查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22845909/