如何在表单的选择列表中使用“any”在mysql中工作?

时间:2013-08-11 15:49:44

标签: php mysql

我的表格使用以下代码:

<select name="ptype">
    <option selected="selected" value="">Any</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select>

现在,php页面如何处理mysql中的“Any”字段。我尝试了下面的代码,但没有在流程页面上工作:

$q = mysql_query("SELECT * FROM `listing` WHERE ptype='{$_POST['ptype']}'");
echo mysql_error();
while($r=mysql_fetch_array($q)){

}

有多个select选项使用“any”,所有字段都在同一个查询上运行。这里任何意味着所有价值

可能是什么错误?或者如何使用“任何”价值?

4 个答案:

答案 0 :(得分:0)

单独检查:

SELECT *
FROM `listing`
WHERE '{$_POST['ptype']}' = 'ANY' or ptype='{$_POST['ptype']}'

答案 1 :(得分:0)

如果选项为any,请以编程方式将查询更改为:

$q=mysql_query("SELECT * FROM `listing`");

答案 2 :(得分:0)

如果any表示两者都可以工作,只要$_POST['ptype']没有值(或给它一个值并检查它),就从查询中删除WHERE子句。

答案 3 :(得分:0)

$ptype = $_POST['ptype'];
if ($ptype == "Any") {
    $w = " WHERE 1";
} else {
    $w = " WHERE ptype = '" . $ptype . "'";
}
$q = mysql_query("SELECT * FROM `listing`" . $w);
echo mysql_error();
while ($r = mysql_fetch_array($q)) {
....
}