0

我有使用以下代码的表格:

<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)){

}

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

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

4

4 回答 4

0

单独检查:

SELECT *
FROM `listing`
WHERE '{$_POST['ptype']}' = 'ANY' or ptype='{$_POST['ptype']}'
于 2013-08-11T15:52:13.013 回答
0

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

$q=mysql_query("SELECT * FROM `listing`");
于 2013-08-11T15:52:52.447 回答
0

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

于 2013-08-11T15:53:21.677 回答
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)) {
....
}
于 2013-08-11T15:56:20.100 回答