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 )) {    

?>

その後、すべてのコンテンツ(タスク)をエコーアウトします。お互いの下の各行。しかし、最初に行われたタスクは表示されません。それは隠されたままです。

誰かがこれを修正する方法を知っていますか?

4

2 に答える 2

2
$rows = mysql_fetch_assoc($sql);

これは、やりすぎ。消して。最初の行をフェッチするため、while ループは最初の行を取得できません。

さらに、mysql_fetch_arrayしばらくは使用しません。mysql_fetch_assoc を使用して連想配列を使用します。

于 2012-04-19T10:18:45.607 に答える
1

呼び出し $rows = mysql_fetch_assoc($sql); 最初の行を取得しているため、その行は必要ありません。何が起こっているかというと、その行は最初の行をフェッチし、2 番目の行を指すように $sql (結果セット リソース) を更新し、次に mysql_fetch_array( $sql ) を呼び出すと 2 番目の行から開始します。

于 2012-04-19T10:19:27.480 に答える