mysql_* 関数を使用した MySQL 結果セットの複数回ループ
MySQL 結果セットを操作する場合、反復処理が必要になる場合があります。それらを複数回繰り返します。ただし、デフォルトでは、mysql_* 関数はフェッチするたびにポインタを新しい行に移動します。結果セットを複数回処理する必要がある場合、これは課題となります。
2 回反復する新しいアプローチ
この制限に対処するには、 mysql_data_seek() 関数。これにより、結果セットのポインタを先頭にリセットして、行を再度ループできるようになります。以下に実際的なデモンストレーションを示します。
$result = mysql_query(/* Your query */); while ($row = mysql_fetch_assoc($result)) { // Perform operations on the first loop... } // Reset the pointer to the first row mysql_data_seek($result, 0); while ($row = mysql_fetch_assoc($result)) { // Perform operations on the second loop... }
代替の考慮事項
この方法では複数回の反復が可能ですが、これが最も効率的なアプローチであるかどうかを検討する価値があります。一般に、オーバーヘッドを避けるために、最初のループ内で必要な処理をすべて実行することが望ましいです。ただし、複数の反復が避けられない場合、上記の解決策はそれを達成する簡単な手段を提供します。
以上がmysql_* 関数を使用して MySQL 結果セットを複数回ループするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。