我的表格使用以下代码:
<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”,所有字段都在同一个查询上运行。这里任何意味着所有价值
可能是什么错误?或者如何使用“任何”价值?
答案 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)) {
....
}