Преобразование массива результатов PDO в строку - PullRequest
0 голосов
/ 03 марта 2019

У меня есть класс, который извлекает набор результатов из базы данных.Результат упакован в массивы, которые затем сохраняются в виде переменных сеанса, как показано в коде

 $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 голосов
/ 03 марта 2019

Я считал, что вам нужно сохранить данные в части вашего кода и распечатать их s omewhere else .

, если на первом этапе вы хотите сохранить все элементы в$_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 } ?>
...