Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHPForeach创建HTML表_Php_Html_Foreach - Fatal编程技术网

使用PHPForeach创建HTML表

使用PHPForeach创建HTML表,php,html,foreach,Php,Html,Foreach,当我试图创建HTML表时,我的表被弄乱了。这是我的密码 $data['items'] = array( array( 'des' => 'item #1', 'price' => 10, 'o' => 2, 't' => 15, ), array( 'des' => 'item #3', 'price' => 11, 'o' => 4, 't' => 10,

当我试图创建HTML表时,我的表被弄乱了。这是我的密码

$data['items'] = array(
array(
    'des' => 'item #1', 
    'price' => 10, 
    'o' => 2, 
    't' => 15, 
    ), 
array(
    'des' => 'item #3', 
    'price' => 11, 
    'o' => 4, 
    't' => 10, 
    ), 
);
下面是我创建表的步骤。但这似乎完全错了。特别是tr和td中foreach的条件检查

<table><thead align="left" style="display: table-header-group"><tr><th>
    <table><tr> <td>col 1 </td>
                <td>col 2 </td>
                <td>col 3 </td>
                <td>col 4 </td>
                <td>col 5 </td>

    </tr></table>
</th></tr></thead>
<tbody>
<?php foreach ($data['items'] as $rows) :?>
    <tr class="item_row">
            <?php 
            $total = 0;
            foreach ($rows as $key => $value) : ?>
            <td><?php echo $key+1 ?></td>
            <td> <?php echo $value['description'] ?></td>
            <td> <?php echo $value['price'] ?></td>
            <td> <?php echo $value['o'] ?></td>
            <td> <?php echo $value['t'] ?></td>
            <?php endforeach;?>
    </tr>
<?php endforeach;?>
</tbody>
</table>

第1列
第2列
第3列
第4列
第5列
我首先面临的问题是,条件不正确,所以在每一行,它每次都会抛出第一个值。 其次,显然桌子坏了。
需要一些帮助来解决这个问题

如果循环太多,则不需要内部循环,并会导致警告,因为
$value
不是数组

除此之外,您还弄乱了您的桌面,在不需要的地方添加了另一个表和
th
标记

你需要像这样的东西:

<table>
  <thead align="left" style="display: table-header-group">
  <tr>
     <th>col 1 </th>
     <th>col 2 </th>
     <th>col 3 </th>
     <th>col 4 </th>
     <th>col 5 </th>
  </tr>
  </thead>
<tbody>
<?php 
$total = 0;
foreach ($data['items'] as $rows) :?>
  <tr class="item_row">
        <td><?php echo ++$total; ?></td>
        <td> <?php echo $rows['description']; ?></td>
        <td> <?php echo $rows['price']; ?></td>
        <td> <?php echo $rows['o']; ?></td>
        <td> <?php echo $rows['t']; ?></td>
  </tr>
<?php endforeach;?>
</tbody>
</table>

第1列
第2列
第3列
第4列
第5列

“需要一些帮助来解决这个问题”什么问题?为什么对这个问题投反对票?解释在我看来,foreach的结束标签放错地方了,还是我错了?@Robert,肯定,谢谢。prego(“you welcome”(意大利语)一种好奇:你知道什么时候(从“what”的哪个版本开始)引入了“:”短标签吗?我的意思是,这是我在今年冬天发现的东西,在我制作PHP打印所有表标记之前。这是相当干净和干净的shorter@Robert就我个人而言,我不是一个粉丝,但我很少再混合使用php和html了。似乎很长一段时间以来都有可能: