3

Possible Duplicate:
How to reset mysql pointer back to the first row in PHP?

I have 2 while loops in my PHP script that processes a list of data from a database.

$results = mysql_query("SELECT * FROM myTable");
while ($result = mysql_fetch_object($results))  {
    // do stuff
}

reset($results);
while ($result = mysql_fetch_object($results))  {
    // do some more stuff
}

However, the reset() function is not resetting my pointer within the MySQL resource. In fact, it generates an error:

"Warning: reset() [function.reset]: Passed variable is not an array or object in /home/cs179_team13/public_html/timeTests/results.php on line 133."

Why? How do I reset a PHP pointer for a MySQL resource?

4

3 に答える 3

7

機能を使用できますmysql_data_seek

bool mysql_data_seek ( resource $result , int $row_number )

詳細については、http://www.php.net/manual/en/function.mysql-data-seek.phpを参照してください。

于 2012-04-22T18:33:13.133 に答える
3

0とともに返された結果セットを渡します

mysql_data_seek($resultset, 0) ;//reset result set
于 2012-04-22T18:56:54.287 に答える
2

そんな醜い方法は必要ありません。
配列を取得するだけです。

$data = sql_to_arr("SELECT * FROM myTable");
foreach ($data as $row)  {
    // do stuff
}
foreach ($data as $row)  {
    // do stuff
}
foreach ($data as $row)  {
    // do stuff
}

これは、データを処理するためのより便利な方法です

于 2012-04-22T18:52:24.793 に答える