簡體   English   中英

從數組創建 html 表

[英]Create html table from arrays

我設法從數據庫創建了兩個數組,一個用於 table_headers,如下所示

$tb_headers=array('010','011','012','013','014','015','016');

並且還從數據庫中生成了表 _data 的其他數組,如下所示

$tb_data=array(
array('011','013','014','015'),
array('010','012','014','015','016'),
array('010','011','013','016'),
array('010','011','012','013','014','015','016')
);

如何生成這種格式的表格??

 th      010 |  011 |   012|   013|    014 |   015 |     016
row1      -  |  011 |   -  |   013|    014 |   015 |     -
row2     010 |   -  |  012 |    - |    014 |   015 |     016
row3     010 |  011 |   -  |   013|     -  |    -  |     016
row4     010 |  011 |  012 |   013|    014 |   015 |     016

我試圖編寫這個腳本,但它沒有按預期工作

<table style="width:50%;" border="1">
   <tr>
      <?php
      foreach ($tb_headers as $key => $value) {
        echo '<th>'.$value.'</th>';
      }
      echo '</tr>';
      foreach ($tb_headers as $key => $data) {
        echo '<tr>';
        if(!empty($tb_data[$key])&& $tb_data[$key]==$data ){
           echo '<td>'.$tb_data[$key].'</td>';
        }else{
         echo '<td>-</td>'; 
        }
        echo '</tr>';
      }
      ?>   
</table>

試試這個,它使用 php in_array()函數。

<table>
  <tr>
  <?php
  // header
  foreach ($tb_headers as $value) echo '<th>' . $value . '</th>';
  ?>
  </tr>
  <?php
  // content
  foreach ($tb_data as $line => $values) {
    echo '<tr>';
    foreach ($tb_headers as $header) {
      echo '<td>';
      if (in_array($header, $values)) echo $header;
      else echo '-';
      echo '</td>';
    }
    echo '</tr>';
  }
  ?>
</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM