Php foreach在HTML中创建重复的表
我有一个查询,它给出了这个数组Php foreach在HTML中创建重复的表,php,html,Php,Html,我有一个查询,它给出了这个数组 Array ( [0] => Array ( [id] => 1 [name] => name1 ) [1] => Array ( [id] => 2 [name] => name2 ) [2] => Array ( [id] => 3 [name] =>
Array (
[0] => Array (
[id] => 1
[name] => name1
)
[1] => Array (
[id] => 2
[name] => name2
)
[2] => Array (
[id] => 3
[name] => name3
)
)
当它返回到HTML页面并成为foreach时,它会将表复制到3个表中
<?php foreach ($types AS $row_types) { ?>
<table class="table_style1">
<tr>
<th>Title</th>
<th>Title2</th>
</tr>
<tr>
<td><?php $row_types['name'][0]?></td>
<td>data 1</td>
</tr>
<tr>
<td><?php $row_types['name'][1]?></td>
<td>data 2</td>
</tr>
<tr>
<td><?php $row_types['name'][2]?></td>
<td>data 3</td>
</tr>
</table>
<?php } ?>
标题
标题2
数据1
数据2
数据3
请帮助我在此处仅显示一个表。错误:您已使用该表在
forach()
循环中重复了,因此这是脚本中的错误
需要更正:
和
应该在循环之外开始和在循环之外结束以避免您现在面临的重复<代码>
和
因此,我将向您提供以下示例:
示例:
<table>
<?php
foreach()
{
}
?>
</table>
<table class="table_style1">
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<?php foreach ($types AS $row_types) { ?>
<tr>
<td><?php echo $row_types['id']?></td>
<td><?php echo $row_types['name']?></td>
</tr>
<?php } ?>
</table>
解决方案:foreach在HTML中创建重复的表
您的整个代码如下所示,正如我在上表中所述,tr将在foreach循环之前启动
代码:
<table>
<?php
foreach()
{
}
?>
</table>
<table class="table_style1">
<tr>
<th>ID</th>
<th>NAME</th>
</tr>
<?php foreach ($types AS $row_types) { ?>
<tr>
<td><?php echo $row_types['id']?></td>
<td><?php echo $row_types['name']?></td>
</tr>
<?php } ?>
</table>
身份证件
名称
将表
标记和标题trth
放在循环外部
$types = array (
array (
"id" => 1,
"name" => "name1"
),
array (
"id" => 2,
"name" => "name2"
),
array (
"id" => 3,
"name" => "name3"
)
);
?>
<table class="table_style1">
<tr>
<th>Title</th>
<th>Title2</th>
</tr>
<?php
foreach ($types AS $row_types) { ?>
<tr>
<td><?php echo$row_types['name'];?></td>
<td>data <?php echo $row_types['id']?></td>
</tr>
<?php }?>
</table>
$types=数组(
数组(
“id”=>1,
“名称”=>“名称1”
),
数组(
“id”=>2,
“名称”=>“名称2”
),
数组(
“id”=>3,
“名称”=>“名称3”
)
);
?>
标题
标题2
资料
问题在于您不了解foreach
的工作原理。它获取您的数组,并对数组中的每个条目执行一次foreach
中的代码
使用数组结构,foreach
将逐个遍历数组的每个元素$types
。由于$types
中的元素本身是数组(即,您有一个多维数组)$row\u types
将是一个包含键id
和name
的数组。因为我们只需要一个表,每个数组一行,所以我们需要在foreach
循环之外启动表及其标题
<table class="table_style1">
<tr>
<th>Title</th>
<th>Title2</th>
</tr>
如果您注意到我正在使用
将表
标记和标题tr
放在循环外部。@S.I.然后放在表行中duplicate@FrayneKonok然后,表中的行不会手动列出所有行。这就是你的foreach
应该做的。@tenten,好的,那么让我给你一个答案。你仍然在foreach里面留下了3行。OP想要一张有3行的桌子,而不是9行。请现在检查。是否正确。我希望这是正确的@Styphon@FrayneKonok非常感谢。
<table class="table_style1">
<tr>
<th>Title</th>
<th>Title2</th>
</tr>
<?php foreach ( $types as $row_types ) { ?>
<tr>
<td><?= $row_types['id'] ?></td>
<td><?= $row_types['name'] ?></td>
</tr>
<?php } ?>
</table>