以列方式而不是行方式显示来自 foreach 循环的数据
Posted
技术标签:
【中文标题】以列方式而不是行方式显示来自 foreach 循环的数据【英文标题】:showing data from foreach loop in column way instead of rows way 【发布时间】:2022-01-18 11:31:07 【问题描述】:我尝试使用 foreach 循环从数据库中获取数据并以列方式显示它们,目前我收到它们,因为它出现在这个
但我需要它看起来像这样
| Founders Circle | Global Pool | Universal Pool | Infinity Pool | Regional Pool |
|78156 -and input- |1021673-input | 5000000 - input | 56823 - input | 0 and input |
<?php
foreach( $calculations as $calculation )
?>
<table>
<tr>
<th>
<?php echo $calculation['Calculation']['poolname']; ?>
</th>
</tr>
<tr>
<td>
<div class="input text" id="pool_calc">
<?php echo $calculation['Calculation']['total_units']; ?>
<input name="own_pools" type="text" value="" id="own_pools" maxlength="3" size="4" >
</div>
</td>
</tr>
<?php
?>
</table>
出了什么问题或者我该如何解决?
【问题讨论】:
【参考方案1】:有更多的方法,你最容易理解的一种是使用两个相同的foreach
循环。
<table>
<tr>
<?php
foreach( $calculations as $calculation )
// All TH in the first row
?>
<th>
<?php echo $calculation['Calculation']['poolname']; ?>
</th>
<?php
?>
</tr>
<tr>
<?php
foreach( $calculations as $calculation )
// All TD in the second row
?>
<td>
<div class="input text" id="pool_calc">
<?php echo $calculation['Calculation']['total_units']; ?>
<input name="own_pools" type="text" value="" id="own_pools" maxlength="3" size="4" >
</div>
</td>
<?php
?>
</tr>
</table>
在问题的代码中,您为每条记录创建 2 行的新表(您总共有 5 个表)。
基本思想是将<table>
移到循环之外。
更新了一些代码,没有重复 foreach 循环(将 TD 保存在变量中并稍后回显)。
<table>
<tr>
<?php
$tds = '';
foreach( $calculations as $calculation )
// All TH in the first row
?>
<th>
<?php echo $calculation['Calculation']['poolname']; ?>
</th>
<?php
// create TDs code
$tds .= '
<td>
<div class="input text" id="pool_calc">
' . $calculation['Calculation']['total_units'] . '
<input name="own_pools" type="text" value="" id="own_pools" maxlength="3" size="4" >
</div>
</td>
';
?>
</tr>
<tr>
<?php
echo $tds;
// echo TDs in the second row
?>
</tr>
</table>
【讨论】:
@salgergawi 不客气。 我希望我的投票正确吗?以上是关于以列方式而不是行方式显示来自 foreach 循环的数据的主要内容,如果未能解决你的问题,请参考以下文章