while循环只显示一行

时间:2014-05-23 21:44:12

标签: php html if-statement foreach while-loop

我有一个HTML表单,允许用户从员工列表中进行选择。变量是' $ empfullname。'但是,我也希望他们能够选择一个' All'选项,如果选择它应该采取第一个员工并运行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);

}

1 个答案:

答案 0 :(得分:0)

你的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);
}

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