我已经玩了几天了,我不是专业的编码人员,但是我正在尝试建立一个不错的基本系统来管理本地志愿者救援组织的签入/签出。

基本上,我正在尝试将所有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" }


任何帮助将不胜感激!

最佳答案

您必须使用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:关于数据$row['timeloggedin'],您在查询中没有它(如var_dump所示),因此它将是一个空字符串。

10-06 06:26