Ошибка Неопределенный индекс: foreach Codeigniter - Oracle

0

У меня есть массив $dtl:

Array
(
    [MODULE_NAME] => Array
        (
            [0] => Daily_Recurring_Grabber
            [1] => Daily_Recurring_Grabber           
        )
    [START_EXECUTION] => Array
        (
            [0] => 19-SEP-14
            [1] => 21-SEP-14           
        )
    [FINISHED_EXECUTION] => Array
        (
            [0] => 19-SEP-14
            [1] => 21-SEP-14          
        )
    [NUM_OF_POPULATION] => Array
        (
            [0] => 6630
            [1] => 6169
        )
     [SUM_AMOUNT] => Array
        (
            [0] => 397922098.33
            [1] => 360955418.47
        )
)

Я просто хочу отображать значения SUM_AMOUNT. Поэтому я создаю свое представление следующим образом:

if(isset($dtl)){

foreach($dtl as $row){
?>
<tr>
   <td><?php echo $row['sum_amount']; ?></td>
</tr>

Но у меня есть ошибка:

Severity: Notice

Message: Undefined index: SUM_AMOUNT

Filename: pages/v_soaotc_monthly.php

Это моя модель

$this->pblmig_db = $this->load->database('collprod', true);

        $sql="select * from inh_soa_otc_control
                where module_name like 'Monthly_Accumulator%'
                and finished_execution is not null";

        $stmt = oci_parse($this->pblmig_db->conn_id, $sql);

        oci_execute($stmt);
        $row = oci_fetch_all($stmt, $result);
        oci_free_statement($stmt);
        oci_close($this->pblmig_db->conn_id);
        return $result;

Я что-то пропустил в своем коде? Спасибо за помощь

Теги:
arrays
codeigniter
foreach

2 ответа

1
Лучший ответ

Попробуй это

<?php

if(count($dtl)>0){

    foreach($dtl['SUM_AMOUNT'] as $row){
?>
        <tr>
            <td><?= $row ?></td>
        </tr>
<?php
    }
}
?>

Для всех элементов

<?php

if(count($dtl)>0){

    foreach($dtl as $index => $dt1_element){
    //[MODULE_NAME] => Array
?>
        <ul>
            <li>Data in <?= $index ?></li>
            <ul>
<?php
        foreach($dt1_element as $row){
        //[0] => Daily_Recurring_Grabber
        //[1] => Daily_Recurring_Grabber
?>
        <!-- Daily_Recurring_Grabber -->
        <li><?= $row ?></li>
<?php
        }
?>
          </ul>
<?php
     }
?>
    </ul>
<?php
}
?>
  • 0
    Спасибо, Виктор, это работает. Могу ли я улучшить свой вопрос? Как, если я хочу отобразить все поля (не только SUM_AMOUNT)? Так что это похоже на отображение данных в виде таблицы. Какой foreach я должен использовать? Признателен за вашу помощь
  • 0
    Таким образом, он будет печатать только все значение. Как я могу определить, какое значение принадлежит module_name, sum_amount и т. Д.?
Показать ещё 1 комментарий
0

$dtl уже является массивом

вы можете получить доступ к SUM_AMOUNT по $dtl['SUM_AMOUNT']

ИЛИ получить все значения

foreach($dtl as $key => $value){
<tr>
   <td><?php echo $value; ?></td>
</tr>
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню