0

这几天我一直在玩这个,我不是专业的编码员,但我正在尝试建立一个很好的基本系统来管理当地志愿者救援组织的签到/退房。

基本上我试图让所有成员成员的ISLOGGEDIN值设置为1

$loggedin = mysql_query("SELECT * FROM members WHERE ISLOGGEDIN=1");
$loggedinarray=mysql_fetch_array($loggedin);

并将他们的信息(姓名等)呈现在表格中:

foreach($loggedinarray as $key=>$value) {
    echo "
    <tr>
        <td>".$value[firstname]." ".$value[lastname]."</td>
        <td>".$value[timeloggedin]."</td>
    </tr>
    ";
}

然而,我得到的结果是非常随机的,根本不是我想要的!

var_dump($loggedinarray)输出:

array(12) { [0]=> string(5) "5395" ["SES_ID"]=> string(5) "5395" [1]=> string(7) "Anthony" ["FIRST"]=> string(7) "Anthony" [2]=> string(8) "LastName" ["LAST"]=> string(8) "Willison" [3]=> string(1) "1" ["ISLOGGEDIN"]=> string(1) "1" [4]=> string(1) "0" ["TRAINER"]=> string(1) "0" [5]=> string(1) "1" ["OFFICER"]=> string(1) "1" }

任何帮助将不胜感激!

4

1 回答 1

1

你必须使用while; 它是随机的,因为它只从表中获取一行。

$loggedin = mysql_query("SELECT * FROM members WHERE ISLOGGEDIN = 1");

if (mysql_num_rows($loggedin) > 0) {
    echo "<table>";

    while ($row = mysql_fetch_array($loggedin)) {
        echo "
        <tr>
          <td>".$row['FIRST']." ".$row['LAST']."</td>
          <td>".$row['timeloggedin']."</td>
        </tr>
        ";
    }

    echo "</table>";
}

此代码将输出表中的每一行,其中ISLOGGEDIN = 1.

PS:关于 data $row['timeloggedin'],您的查询中没有它(如中所示var_dump),因此它将是一个空字符串。

于 2013-10-23T11:36:51.523 回答