将PDO结果集数组转换为字符串

时间:2019-03-03 07:07:53

标签: php html resultset

我有一个从数据库检索结果集的类。结果包装在数组中,然后存储为会话变量,如代码所示

 $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。但是我只希望显示从数据库检索的值,而不显示数组索引。

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 } ?>