2017-03-04 72 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

这会导致重复的代码,这是一个不好的做法。 使用相同的循环。