用PHP foreach制作html表

时间:2018-07-08 14:51:41

标签: php foreach html-table

我尝试制作一个表,并用MySql DB和foreach中的数据填充单元格:

<div class="single mb-5 mt-5">

  

<thead>
<tr>
  <th data-sort="string">Titre <i class="fa fa-sort"></i></th>
  <th data-sort="string">Genre <i class="fa fa-sort"></i></th>
  <th data-sort="string">Date de sortie <i class="fa fa-sort"></i></th>
  <th data-sort="string">Casting <i class="fa fa-sort"></i></th>
  </tr>
</thead>

<?php foreach($movie->getMovies() as $m) { ?>
<tbody>
  <tr>
  <td><a href="?p=single&id=<?php echo $m['id']; ?>" class="card-link"><?php echo $m['title']; ?></a></td>
  <td><?php echo $m['genres']; ?></td>
  <td><?php echo $m['release_date']; ?></td>
  <td><?php echo $m['release_date']; ?></td>
  </tr>
</tbody>
</table>
<?php } ?>

<script>
  $(document).ready(function($) { 
  $("#movie_list").stupidtable();
  }); 
</script>

结果如下:

table.jpg

有足够的数据可以包含21个表行,但是只有一个。

你能告诉我我想念什么吗?

3 个答案:

答案 0 :(得分:0)

您只需要循环表行而不循环表体,请将foreach循环更改为此:

  <tbody>
  <?php foreach($movie->getMovies() as $m): ?>
      <tr>
          <td><a href="?p=single&id=<?php echo $m['id']; ?>" class="card-link"><?php echo $m['title']; ?></a></td>
          <td><?php echo $m['genres']; ?></td>
          <td><?php echo $m['release_date']; ?></td>
          <td><?php echo $m['release_date']; ?></td>
      </tr>
  <?php endforeach; ?>
  </tbody>
  </table>

答案 1 :(得分:0)

这是因为您弄乱了表结构,已将Docker添加到了循环中。当第一个循环运行时,它将关闭Tomcat,而<tbody>的其余数据将失去结构。

答案 2 :(得分:0)

while语句对我有用:

<?php

$check = "SELEC * FROM table_name";
$execute = mysqli_query($connection, $check);
$i = 0;

while($row = mysqli_fetch_array($elements)) {
   $title = $row['title'];
   $genres = $row['genres'];
   $releaseDate = $row['release_date'];
   $releaseDate = $row['release_date'];

   $i++;
?>
<tbody>
   <tr>
   <td><a href="?p=single&id=<?php echo $m['id']; ?>" class="card-link"><?php echo $m['title']; ?></a></td>
      <td><?php echo $m['genres']; ?></td>
      <td><?php echo $m['release_date']; ?></td>
      <td><?php echo $m['release_date']; ?></td>
   </tr>
</tbody>
<?php } ?>