0

我有一个文本框搜索和下拉菜单过滤的组合。如果没有选择任何内容(第一个选项),我怎么能做到这一点 mysql select 命令不选择它作为值并且不按该值过滤任何内容?

select * from table where A like '$A' AND B='$B' AND C='$C'
4

3 回答 3

1
$query="select * from table where 1";

if(isset($A)&&!empty($A))
$query.=" AND A='".$A."'";

if(isset($B)&&!empty($B))
$query.=" AND B='".$B."'";

if(isset($C)&&!empty($C))
$query.=" AND C='".$C."'";

mysql_query($query);
于 2013-04-13T23:37:20.567 回答
0

简单的:

$b = isset($_POST['b']) ? mysql_real_escape_string($_POST['b']) : 'b';

如果选择了下拉列表并且不是默认值,则在查询中使用该值。如果不是,那么只需将查询设为B=B,这将始终为真。

于 2013-04-13T23:13:05.170 回答
0

首先:提问时请多注意语法,因为我个人觉得您的问题有点模糊且难以理解。

但是,如果我正确理解了您的问题,那么您应该做什么,并且在我看来这是最干净和最易读的,就是检查您的 javascript 或 PHP 代码中是否选择了任何内容,并使用两个 select 语句而不是一个。

第一个只是一个简单的

SELECT * FROM table;

第二个是过滤的选择语句。

于 2013-04-13T23:15:06.633 回答