2013-12-11 54 views
0

我有PHP和MySQL请帮忙问题..PHP,MySQL的选择所有,如果

$lokalita_s = $_POST['lokalita_s']; 

$query = "SELECT nazov, lokalita FROM reality WHERE lokalita = '".$lokalita_s."' ORDER BY id"; 

............ 但是,如果($ lokalita_s == “nezáleží” )...然后我要选择从数据库中每一件事情.. 是这样的:

$query = "SELECT nazov, lokalita FROM reality ORDER BY id"; 

............

这不是工作:

$lokalita_s = 0; 
$lokalita_s = NULL; 
$lokalita_s = *; 

我真的不想使用它像其他人是否..因为我想在查询中使用更多的变量,它不会是有效的

+0

那么为什么你没有2个单独的查询呢? – zerkms

+0

因为我想使用更多的变量..它可以有不同的值..并比我会有50如果语句 –

回答

1

尝试沿着这些线路

$lokalita_s = $_POST['lokalita_s']; 
$wherClause = null; 

if($lokalita_s != "nezáleží") { 
    $wherClause = "WHERE lokalita = '" . $lokalita_s . "'"; 
} 

$query = "SELECT nazov, lokalita FROM reality $wherClause ORDER BY id"; 
+0

不。..:/ 解析错误:语法错误,意想不到的'如果'(T_IF)在C:\ xampp \ htdocs \ reality \ search.php on line 7 .. –

+1

我的不好,if有额外的大括号。立即尝试并告诉我它是如何发生的。 – sulmanpucit

+0

大声笑,我必须现在睡觉,确保你使用的是更新的代码。 – sulmanpucit

0

东西? (这在Oracle中有效)

$lokalita_s = $_POST['lokalita_s']; 

$query = " 
SELECT nazov, lokalita FROM reality WHERE lokalita = '". $lokalita_s."' 
UNION 
select nazov,lokalita from reality where '". $lokalita_s. "' = 'nezáleží' 
order by id 
"