While循环只显示一行


While loop only displaying one row

我有一个HTML表单,允许用户从员工列表中进行选择。变量是'$empfullname '。然而,我也希望他们能够选择一个"所有"选项,如果选择它应该采取第一个员工,并运行PHP脚本,然后采取下一个,等等。但是,如果选择"All",我现在拥有的代码只显示表中的第一个员工并停止。也许我也需要一个foreach ?非常感谢任何帮助。谢谢。

if ($empfullname == 'All') {
    $query = "select * from ".$db_prefix."employees order by empfullname asc";
    $result = mysql_query($query);
} else {
    print timecard_html($empfullname, $local_timestamp_in_week);
}
while ($row=mysql_fetch_array($result)) {
    print timecard_html(stripslashes("".$row['empfullname'].""), $local_timestamp_in_week);
}

while循环不在if语句中,请尝试:

if ($empfullname == 'All') {
    $query = "select * from ".$db_prefix."employees order by empfullname asc";
    $result = mysql_query($query);
    while ($row=mysql_fetch_array($result)) {
         print timecard_html(stripslashes("".$row['empfullname'].""),    $local_timestamp_in_week);
    }
} 
else {
    print timecard_html($empfullname, $local_timestamp_in_week);
}

此外,我不会使用与雇员的全名相同的变量来检查'All'是否被选中;)。