PHP MySQL数组数据只能在括号内工作?

时间:2014-03-17 14:09:12

标签: php mysql arrays

我在我的网站上使用这个数组:

 $data = mysql_query("SELECT * FROM siteconfig WHERE setting='main'") 
 or die(mysql_error());  
 while($admin_data = mysql_fetch_array( $data )){

 if($admin_data['close_site'] == 0){
    echo "0";
}
 if($admin_data['close_site'] == 1){
    echo "1";
}
 if($admin_data['close_site'] == 2){
    echo "2";
}
 if($admin_data['close_site'] == 3){
    echo "3";
} 
 }

我遇到的问题是“if语句”只能在数组的{}括号内工作吗?我试图得到它,以便我可以将数组添加到一个单独的包含文件,然后“include:'arrayfile.php';”在我希望使用该信息的页面上。然后我就可以在任何地方使用if语句。虽然,当我从括号中取出if语句时,没有信息显示并且没有任何回声,或者我只是一直“0”?

2 个答案:

答案 0 :(得分:2)

您的代码中有很多不要,但要从您的问题开始:

尝试将if子句放入单独的函数中!你将在while循环中只有这一个函数调用,你可以根据需要将这个函数放在一个包含的代码中!

第二个提示:从第三个 if 开始,您应该考虑使用switch / case Statement!

第三个提示:尝试使用mysql_fetch_object,生成的$ admin_data-> close_site可能更好阅读!

还有更多要说的,但我认为现在太多了

答案 1 :(得分:-1)

你可以试试这个:

 $data = mysql_query("SELECT * FROM siteconfig WHERE setting='main'")  or die(mysql_error());  
 $admin_data = mysql_fetch_array( $data );

 if($admin_data['close_site'] == 0){
     echo "0";
 }
 if($admin_data['close_site'] == 1){
     echo "1";
 }
 if($admin_data['close_site'] == 2){
    echo "2";
 }
 if($admin_data['close_site'] == 3){
     echo "3";
 } 

如果你的收入为0,那么这并不代表“关闭网站”。 row是0?