2016-07-09 6 views
1

だから基本的に私は、データベースの行を反復処理するには、次のループがあります。

while($row = $mysql->fetch_assoc()) 

をしかし、私は同様このループの前の行にアクセスする必要があります。だから、私はこれを行う:

$inside = $mysql->fetch_assoc() 

$ mysqlのその行を失います。 whileループに到達すると、条件がNULLになると入力されません。

Iは、以下

while($row = $inside) 

を試みたが、これは単にタイムアウト(ループ無期限)まで待機します。

私はこれをどのように実行でき、上の要件を満たしているかについて、何か考えていますか?ご協力いただきありがとうございます...

+0

whileを使用して行を配列に設定し、後でその行を必要とするときにその配列にアクセスすることができます。 – chris85

答えて

0

$mysql->data_seek(0)を使用すると、2番目のループの繰り返しで行カウンタがリセットされます。それはあなたが再び行をループすることができます。例については、this helpful postを参照してください。

3

あなたがこれを実行した後:

while ($row = $mysql->fetch_assoc()) 

$resulの内部ポインタが最後です。だから、最初に再び移動することができます:

$mysql->data_seek(0); 
while ($row = $mysql->fetch_assoc()) 

すべての行が再び利用可能です。

関連する問題