我有这个简单的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);
答案 0 :(得分:1)
else if
分支仅在第一个if
分支未返回true时执行。这就是if+elseif
的工作原理。
在if
条件之后,您执行查询。您只进行一次查询(使用条件中的第一个或第二个查询字符串)。你必须在if块中移动$result=…; $nr=…;