0

我有这个查询,但结果只是数据库表中的最后一行
(我想显示表中的所有行:

$sql = mysql_query("SELECT * FROM LESSONS WHERE L_STATE='0' ORDER BY ID DESC") or die($sql_error);
if(mysql_num_rows($sql) > 0){
    $resultset = array();
    while($rs = mysql_fetch_assoc($sql)){
        $resultset[] = $rs;
    }
    foreach ($resultset as $rs){
        $l_id = $rs['ID'];
        $l_title = $rs['L_TITLE'];
        $l_comments = $rs['L_COMMENTS'];
        $l_views = $rs['L_VIEWS'];
    }
}else{
        $l_id = $no_data;
        $l_title = $no_data;
        $l_comments = $no_data;
        $l_views = $no_data;
}
4

2 回答 2

2

您反复覆盖相同的变量$l_id$l_title以此类推,直到下一行,直到最后一行……然后您惊讶地发现只得到最后一行?

您需要将输出内容放在循环内才能正常工作。

于 2013-02-01T01:50:42.560 回答
1

您正在循环您的结果集,将结果分配给它们各自的变量,然后对它们不做任何事情。每次循环迭代时,所述变量都会被覆盖,因此你只能得到最后一行。

于 2013-02-01T01:52:00.757 回答