我的任务系统存在这个问题,
每当新成员完成第一项任务时,它都不会显示。只有在第一个之后制作的那些。
<?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 )) {
?>
之后我只是回应所有内容(任务)。彼此之下的每一行。但是刚刚完成的第一项任务并未显示出来。它仍然是隐藏的。
有谁知道如何解决这个问题?
答案 0 :(得分:2)
$rows = mysql_fetch_assoc($sql);
这太过分了。删除它。它取第一行,因此while循环不能获得第一行。
另外,我不会在while中使用mysql_fetch_array
,使用mysql_fetch_assoc来使用关联数组。
答案 1 :(得分:1)
调用$ rows = mysql_fetch_assoc($ sql);获取第一行,您不需要该行。发生的是该行获取第一行,并更新$ sql(这是结果集资源)以指向第二行,然后当您调用mysql_fetch_array($ sql)时,它从第二行开始。