我有一个从数据库检索结果集的类。结果包装在数组中,然后存储为会话变量,如代码所示
$days = array();
$amount = array();
$commission = array();
foreach ($result as $row) {
array_push($days,$row['sales_day']);
array_push($amount,$row['sales_total']);
array_push($commission,$row['sales_comm']);
$_SESSION['days'] = $days;
$_SESSION['amount'] = $amount;
$_SESSION['commission'] = $commission;
然后我尝试按照以下代码在HTML表中显示数据:
<tr>
<td><label><?php print_r($_SESSION['days']); ?></label></td>
<td><label><?php print_r ($_SESSION['amount']); ?></label></td>
<td><label><?php print_r($_SESSION['commission']); ?></label></td>
</tr>
问题在于输出类似于:array [0] =>1。但是我只希望显示从数据库检索的值,而不显示数组索引。
答案 0 :(得分:1)
我认为您需要将数据保存在代码的一部分中,并在其他地方打印它们。
如果第一步要将所有项目保存到$_SESSION
中,然后在下一步中显示它们,请使用以下代码:
第一步:
$merged_data = array();
foreach ($result as $row) {
$merged_data[] = array(
'sales_day' => $row['sales_day'],
'sales_total' => $row['sales_total'],
'sales_comm' => $row['sales_comm']
);
}
$_SESSION['merged_data'] = $merged_data;
第二步:(在代码中的其他地方)
<?php foreach ($_SESSION['merged_data'] as $data) { ?>
<td><label><?= $data['days']; ?></label></td>
<td><label><?= $data['amount']; ?></label></td>
<td><label><?= $data['commission']; ?></label></td>
<?php } ?>