2012-04-19 97 views
0

我有这个问题,我的任务系统,回声不显示第一行所做

每当一个新成员,使他的第一个任务,它不会显示出来。只有在第一个之后做出的那些。

<?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

我无法想象你的意思。请张贴一些源代码并发表评论,所以我们可以理解 – Stefan 2012-04-19 10:17:32

回答

2
$rows = mysql_fetch_assoc($sql); 

这实在是太多了。删除它。它获取第一行,所以while循环无法获得第一行。

此外,我不会在while中使用mysql_fetch_array,请使用mysql_fetch_assoc来使用关联数组。

+0

谢谢,这使它已经工作。 – Mennauu 2012-04-19 10:20:33

1

调用$ rows = mysql_fetch_assoc($ sql);正在读取第一行,您不需要该行。发生的事情是该行读取第一行,并更新$ sql(这是resultset资源)指向第二行,然后当您调用mysql_fetch_array($ sql)时,它从第二行开始。

+0

感谢您的回答,我现在明白了 – Mennauu 2012-04-19 10:22:04