你将如何做一个mysql查询,用户可以从多个选项中进行选择。 Fox示例我有一个用户可以用来搜索房屋的表单。现在我有一个选择框,您可以在这里选择是否需要房屋,公寓或其他任何东西。然后我有第二个箱子,你可以选择你想要的房子或公寓的城市。也许另一个价格最高的房子。如何用多个WHERE子句执行MySQL查询?
现在你将如何做MySQL查询?我的问题是,我会这样做: if($ _ POST [“house_type”]!= 0)$ select = mysql_query(“SELECT * FROM WHERE type ='”。$ _ POST [“house_type”] 。 “'”); } 但现在我只有这样的情况,有人选择了房屋类型,但没有任何其他选项。那么,我必须为所选元素的每种可能组合做一个“if”吗?
为了强调我的问题:
if(!isset($_POST["house_type"])) {
if($_POST["something"] == 0) {
$search_select = @mysql_query("SELECT * FROM housedata WHERE something = $_POST["whatever"]);
}
elseif($_POST["something"] != 0) {
$search_select = @mysql_query("SELECT * FROM housedata something = $_POST["whatever"] AND somethingelse = 'whatever');
}
}
elseif(!isset($_POST["house_type"])) {
if($_POST["something"] == 0) {
$search_select = @mysql_query("SELECT * FROM housedata WHERE something = $_POST["whatever"]);
}
elseif($_POST["something"] != 0) {
$search_select = @mysql_query("SELECT * FROM housedata something = $_POST["whatever"] AND somethingelse = 'whatever');
}
}
现在想象一下,我有一个像10个或20个不同的选择框,输入域和复选框,我会根据什么这些盒子和fiels和做一个MySQL查询复选框已填充。这将是一个非常复杂,缓慢和可怕的代码。那么是否有可能做出如下的mysql查询:
SELECT * FROM whatever WHERE house_data = '".$whatever."' AND (if(isset($_POST["something"])) { whatever = '".$whatever2."' } AND ...;
你明白我的意思了吗?它的解释有点复杂,但实际上它是一个非常重要的问题,可能很容易回答。
谢谢你的帮助! phpheini
Loop through and concat输入所有选项? – 2011-02-23 15:42:35