我的任务系统有这个问题,
每当新成员完成他的第一个任务时,它都不会显示。只有第一个之后制作的。
<?php
$sql = mysql_query("SELECT * FROM todo WHERE member_id = '".$_SESSION['member_id']."' ORDER by id ASC");
if (!$sql) {
die ('invalid query: ' . mysql_error());
}
$rows = mysql_fetch_assoc($sql);
while($rows = mysql_fetch_array( $sql )) {
?>
之后,我只是回显出所有内容(任务)。 每一行彼此下。但是第一个任务就是没有出现。它仍然隐藏。
有谁知道如何解决这个问题?
$rows = mysql_fetch_assoc($sql);
这太过分了。 删除它。它获取第一行,因此 while 循环无法获取第一行。
此外,我不会在 while 中使用 mysql_fetch_array
,使用 mysql_fetch_assoc 来使用关联数组。
调用$rows = mysql_fetch_assoc($sql); 正在获取第一行,您不需要该行。正在发生的事情是,该行获取第一行,并更新$sql(结果集资源)以指向第二行,然后当您调用 mysql_fetch_array( $sql ) 时,它从第二行开始。