php - WHILE 循环不能使用两次? PHP

标签 php html loops

我是 PHP 新手,希望有人能帮助我。我在 mysql 数据库中有一个包含“id”、“img”、“link”和“desc”的表。我希望它全部回显成这样的东西:

    <div id="featured">
    <a target='_blank' href='link'><img src='image link1' title='description'/></a>
    <a target='_blank' href='link'><img src='image link2' title='description'/></a>
    <a target='_blank' href='link'><img src='image link3' title='description'/></a>
    <a target='_blank' href='link'><img src='image link4' title='description'/></a>
    </div>
    <div id="cap">
    <span class='desc' id='idnumber'>Description1</span>
    <span class='desc' id='idnumber'>Description2</span>
    <span class='desc' id='idnumber'>Description3</span>
    <span class='desc' id='idnumber'>Description4</span>
    </div>

PHP 代码:

<?php
  require_once "./dbconfig.php";
  opendb();
  $sql = "SELECT * FROM images ORDER BY id DESC"; 
  $query = querydb($sql);
?>
<div id="featured"> 
<?php
  while($row = mysql_fetch_array( $query )){
    echo "<a target='_blank' href='$row[link]'><img src='$row[img]' title='$row[desc]'/></a>";
  }
?>
</div>
<div id="cap">
<?php
  while($row = mysql_fetch_array( $query )){
    echo "<span class='desc' id='$row[id]'>$row[desc]</span>";
  }
closedb();
?>
</div>

可以同时使用两次还是我错了?当我运行这段代码时,第二个 while 循环不工作,跨度根本不显示。

请帮忙。

最佳答案

第一个循环已经消耗了 mysql 中的所有数据,因此第二个循环中没有任何数据。但是,您可以同时存储行数据,然后重新使用该存储。

<div id="featured"> 
<?php
$rows = array();
while($row = mysql_fetch_array( $query )){
  $rows[] = $row;
  echo "<a target='_blank' href='$row[link]'><img src='$row[img]' title='$row[desc]'/></a>";
}
?>
</div>
<div id="cap">
<?php
foreach($rows as $row){
  echo "<span class='desc' id='$row[id]'>$row[desc]</span>";
}
closedb();
?>
</div>

关于php - WHILE 循环不能使用两次? PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594239/

相关文章:

javascript - 数据表将输入搜索集中在 Bootstrap Modal 上

php - itdb Assets 管理工具中将sqlite数据库迁移到mysql数据库

javascript - 如何在登录表单上方显示错误的用户名和密码?

php - 在 Typoscript Controller 中渲染链接

javascript - 如何在 Canvas 元素中嵌入输入或文本区域?

javascript - 如何为点阵打印机打印纯文本格式的页面?

javascript - 只按键值显示 JSon

python - 使用 numpy 数组优化 python 函数

java - 循环添加某个范围内的数字

javascript - Node.js 中的 setTimeout 中计数器没有增加?