2017-03-04 60 views
0

或許簡單,但不能讓我的頭圍繞這個簡單的任務...多個循環

$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

爲什麼不在一個循環中完成這兩件事? –

+0

是的你可以使用 –

+0

好吧我正在逐行建立一個表,下一行的一些數據在第一個查詢中,用於構建表的第一行。我敢肯定,這是盯着我的臉,但看不到它! – Lance

回答

1

是的,你可以再次但是每while循環發生此代碼後使用while循環:

mysql_data_seek($tablerow , 0); 

如,這上面的函數總是復位指向循環中起始點的指針。

找到下面的完整代碼:

$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); 

出於安全目的,mysql也已經過時,總是想用mysqliPDO

我希望這可能對您有所幫助。

+1

它不僅僅關於安全性! 'mysql_ *'已被棄用!不應再使用! – hassan

+0

@Prateek謝謝你...... – Lance

+0

@lance,我很高興它幫助你。 –

0

這會導致重複的代碼,這是一個不好的做法。 使用相同的循環。