2017-03-04 8 views
0

上のループおそらく単純ではあるが、この単純なタスクのまわりで私の頭を取得...複数のMySQLクエリ

$query = "SELECT * FROM myTable WHERE this = that"; 
$result = mysql_query($mycon, $query); 

while ($tablerow = mysql_fetch_assoc($result) { 
    do this 
} 

私は、クエリを再実行せずに同じ$結果でこのwhileループを再実行することができカント?

すなわち:

while ($tablerow = mysql_fetch_assoc($result) { 
    do something else using the same data 
} 

おかげ

+0

なぜ両方のことを1つのループで行うのですか? –

+0

はい使用できます –

+0

ok行ごとにテーブルを作成しています。次の行のデータの一部は、テーブルの最初の行を作成するために使用された最初のクエリに含まれています。私はこれが私の顔を見つめていると確信しているが、それを見ることができない! – Lance

答えて

1

はいあなたはこのコードを再びwhileループを使用しますが、すべてのwhileループ場所後にすることができます

mysql_data_seek($tablerow , 0); 

として、これ以上の機能は常にリセットされますループの開始点へのポインタ。

以下の完全なコード検索:セキュリティ目的とmysqlのために

$query = "SELECT * FROM myTable WHERE this = that"; 
$result = mysql_query($mycon, $query); 

while ($tablerow = mysql_fetch_assoc($result) { 
    do this 
} 
mysql_data_seek($tablerow , 0); 

//Do something you want 

//Then again 

while ($tablerow = mysql_fetch_assoc($result) { 
    do this 
} 
mysql_data_seek($tablerow , 0); 

は常にmysqliまたはPDOを使用しようと、また推奨されていません。

私はこれがあなたに役立つかもしれない、願っています。

+1

それだだけでなく、セキュリティについて! 'mysql_ *'は廃止されました!もう使用しないでください! – hassan

+0

@Prateekありがとう... – Lance

+0

@lance、それはあなたを助けてうれしいです。すべて申し訳ありませんが –

0

これは悪い習慣である重複したコードの原因となります。 同じループを使用します。

関連する問題