0

mysqlの結果のセットを2回以上ループできないことがわかりました。これは私が気付いていない正常なことですか?

私は次のように2つのネストされたforeachループを持っています:

foreach ($items as $item) {
    echo $item." ---------------<br>";
    // loop through set of results
    foreach ($mysqlresults as $result) {
        // loop through result
        echo $result." ^^^^^^^^^^<br>";
        while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
            print_r($row);
            echo "<br>";
        }
    }
}

出力:

item 1 ---------------
ResourceID#1 ^^^^^^^
row 1 data
row 2 data
row 3 data
row 4 data
ResourceID#2 ^^^^^^^
row 1 data
row 2 data
row 3 data
row 4 data
ResourceID#3 ^^^^^^^
row 1 data
row 2 data
row 3 data
row 4 data
item 2 ---------------
item 3 ---------------
item 4 ---------------
item 5 ---------------

結果を再ループできない理由はありますか、それとも私が何か間違ったことをしているのですか?

ありがとう。

4

1 に答える 1

2

You can't because mysql_fetch_array moves a cursor through the results. You can use mysql_data_seek($result, 0) to rewind.

于 2012-11-01T15:21:30.403 に答える