IF ELSE语句和Select查询不起作用

时间:2011-08-14 09:39:26

标签: php sql select if-statement

我有这个简单的if ifif语句似乎不起作用。

变量从复选框选择传递。

如果像这样使用它只适用于类型选择。

如果我使用if + if语句,它会显示第二个选择的结果。

有什么想法吗?

$man=$_GET['m'];  
$wom=$_GET['w'];  
$chd=$_GET['c'];  
$type1=$_GET['tip1'];  
$type2=$_GET['tip2'];  
$type3=$_GET['tip3'];  
$link=mysql_connect ("localhost", ".............", ".........") 
    or die("Nu s-a putut face conectarea la serverul SQL!");  
mysql_select_db("......") or die("Nu s-a putut selecta baza de date!");

if (($type1)||($type2)||($type3))
{
$q="SELECT * FROM biju WHERE tip like '%$type1%' or tip like '%$type2%' or tip like  '%$type3%'";
}

elseif (($man)||($wom)||($chd))
{
$q="SELECT * FROM biju WHERE gen like '%$man%' or gen like '%$chd%' or gen like '%$wom%'";
};


$result=mysql_query($q);  
$nr=mysql_numrows($result);

1 个答案:

答案 0 :(得分:1)

else if分支仅在第一个if分支未返回true时执行。这就是if+elseif的工作原理。

if条件之后,您执行查询。您只进行一次查询(使用条件中的第一个或第二个查询字符串)。你必须在if块中移动$result=…; $nr=…;