如何在单个 php 文件中使用 fetch_assoc() 两次?

我有两张桌子。一个是文章列表,另一个是类别列表。在类别表中,我使用 fetch_assoc() 从数据库中获取数据并在表中列出。但我想获取文章表中文章的数据。如何在同一个 php 文件中使用 fetch_assoc() 两次?


<table>

  <caption class="table_title">Category Management</caption>

  <thead>

    <tr class="table_header">

      <th>ID</th>

      <th>Ttile</th>

      <th>Edit</th>

      <th>Delete</th>

    </tr>

  </thead>

  <tbody>

    <?php while($row = $categoryResult->fetch_assoc()) {?>

     <tr class="table_content">

         <td><?php echo escape($row['id'])?></td>

         <td><?php echo escape($row['title'])?></td>

         <td><a href="./update_category.php?id=<?php echo escape($row['id'])?>">Edit</a></td>

         <td><a href="./handle_delete_category.php?id=<?php echo escape($row['id'])?>">Delete</a></td>

      </tr>

    <?php }?>

  </tbody>

</table>

文章表


<tbody>

<?php while($row = $result->fetch_assoc()) {?>

  <tr class="table_content">

    <td></td>

    <td></td>

    <td></td>

    <td><a href="./update.php">Edit</a></td>

    <td><a href="./delete.php">Delete</a></td>

  </tr>

  <?php }?>

</tbody>


慕丝7291255
浏览 105回答 1
1回答

桃花长相依

代替while($row = $categoryResult->fetch_assoc()) {和foreach($categoryResult as $row)它的作用相同,但foreach方法使用自动迭代器,该迭代器始终从结果集的开头开始。$categoryResult = $mysqli->query();// OR$categoryResult = $stmt->get_result();// from start to end as associative arrayforeach($categoryResult as $row) {&nbsp; &nbsp; // ...}// again, from start to end as associative arrayforeach($categoryResult as $row) {&nbsp; &nbsp; // ...}如果由于某种原因,您必须使用while 循环和手动方法,那么您需要确保在开始循环之前始终将内部指针重置为第一条记录。但是,不建议手动循环。使用 手动执行此操作时更容易犯更多错误while$categoryResult->data_seek(0);while($row = $categoryResult->fetch_assoc()) {&nbsp; &nbsp; // ...}
打开App,查看更多内容
随时随地看视频慕课网APP