我有一些代码可以工作,但是很笨拙,我想知道是否有更好的方法来做,首先是代码,然后我会解释:
// repeat query 10 times
for ($i = 1; $i <= 10; $i++) {
$query = @mysql_query("SELECT fileName FROM images");
while($row = mysql_fetch_assoc($query)){
extract($row);
echo "<img src='images/images/$fileName'/>";
}
}
我想重复一组图像,其文件名存储在 mySql 表中。上面的代码重复查询 10 次。我宁愿查询一次,然后重复列表。有没有办法在 mySql 端或在 php 循环中执行此操作?
谢谢。
最佳答案
将查询中的所有行缓存在一个数组中。循环缓存数组 10 次并打印。
$a= array();
$query= mysql_query("SELECT fileName FROM images");
while($row = mysql_fetch_assoc($query))
$a[]= $row;
for ($i = 1; $i <= 10; $i++) {
foreach ($a as $row)
echo "<img src='images/images/{$row['fileName']}'/>";
}
当然,您需要清理 $row['fileName']
的输出
关于PHP查询并重复mysql_fetch_array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778124/