PHP从mysql获取数据,然后在不同的操作中使用它

时间:2012-09-23 12:54:03

标签: php

所以我想从mysql中获取一些数据并用它来创建一些条件。这是我的代码,但它只显示了mysql的最后一条记录。

    $result = mysql_query("SELECT * FROM system") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {

$name_system = $row['name'];
$value_system = $row['value'];
}

if($name_system=='website_register' AND $value_system==1)
    $register_system = 1;
    else
    $register_system = 0;

if($name_system=='website_offline' AND $value_system==1)
    $offline_system = 1;
    else
    $offline_system = 0;

然后,如果我试图在另一个页面中回显“$ offline_system”或“$ register_system”,它就不会显示真实的数据。

4 个答案:

答案 0 :(得分:2)

您在$value_system之后关闭了while循环。这意味着所有记录都将被提取并存储在$name_system$value_system中,但循环将覆盖前一个变量,因此只有最后一条记录存储在该变量中。

这似乎是一个不完整的代码。你可以做的是在你希望为每条记录做的程序结束时进一步移动那个闭合支撑。

$result = mysql_query("SELECT * FROM system") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {

$name_system = $row['name'];
$value_system = $row['value'];
} // you closed the WHILE loop here.

if($name_system=='website_register' AND $value_system==1)
    $register_system = 1;
    else
    $register_system = 0;

if($name_system=='website_offline' AND $value_system==1)
    $offline_system = 1;
    else
    $offline_system = 0;

我想你的代码是这样的:

$result = mysql_query("SELECT * FROM system") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {

$name_system = $row['name'];
$value_system = $row['value'];


if($name_system=='website_register' AND $value_system==1)
    $register_system = 1;
    else
    $register_system = 0;

if($name_system=='website_offline' AND $value_system==1)
    $offline_system = 1;
    else
    $offline_system = 0;

 // my imagination i was talking about:
 if ($offline_system) echo 'The system is offline<br />';
 else echo 'The system is online<br />';
 if ($register_system) echo 'The registration is online<br />';
 else echo 'The registration system is offline';

 } // curly brace MOVED.

答案 1 :(得分:0)

如果您希望数据在多个页面中可用,则需要将其存储在某个位置。 SESSION如果数据很小 SQLITE或平面文件,如果它更大 在这种情况下,您需要查看每个选项使用的内存和时间,并选择最便宜的。

答案 2 :(得分:0)

使用$_SESSION变量,如下所示: 无论您在哪里$register_system,它都会变为$_SESSION['register_system'],并且可以在下一页上以$_SESSION['register_system']的形式访问。

同样适用于$offline_system,它将是$_SESSION['offline_system'],并在下一页上以$_SESSION['offline_system']的形式访问。

答案 3 :(得分:0)

你可以让这更简单。如果要从数据库中查找特定值,只需查询它们,然后分配值。

e.g。

<?php

$registerResult = mysql_fetch_row(mysql_query("SELECT value FROM system WHERE name = 'website_register'"));
$offlineResult = mysql_fetch_row(mysql_query("SELECT value FROM system WHERE name = 'website_offline'"));

$registerSystem = ($registerResult[0] ? 1 : 0);
$offlineSystem  = ($offlineResult[0] ? 1 : 0);

?>