簡體   English   中英

如何將 Foreach 的結果從 Controller 傳遞到 View CodeIgniter

[英]How Can I Pass Result of Foreach from Controller to View CodeIgniter

就像我的標題一樣,如何將 foreach 結果從控制器傳遞到視圖? 到目前為止,我是這樣做的:--Controller.php

    $get_url_subkategori = $this->ws_url->GetUrl('SubKategoriRetrieve?KodeKategori='.$param);
    $get_json_subkategori = json_decode(file_get_contents($get_url_subkategori), true);
    foreach($get_json_subkategori['SubKategoris'] as $itemSubKategori){
        $kodeSubKategori = $itemSubKategori['KodeSubKategori'];
        $namaSubKategori = $itemSubKategori['Nama'];
        $definisiSubKategori = $itemSubKategori['Definisi'];
        $unsurAbstrakSubKategori = $itemSubKategori['UnsurAbstrak'];
        $aliasSubKategori = $itemSubKategori['Alias'];

        $data['kodeSubKategori']=$kodeSubKategori;
        $data['namaSubKategori']=$namaSubKategori;
        $data['definisiSubKategori']=$definisiSubKategori;
        $data['unsurAbstrakSubKategori']=($unsurAbstrakSubKategori) ? 'true' : 'false';
        $data['aliasSubKategori']=$aliasSubKategori;
    }

    $this->load->view('include/header');
    $this->load->view('kategori_detail', $data);
    $this->load->view('include/footer');

然后,在我看來:

<h3>Sub Kategori</h3>
            <table class="table table-responsive table-inherit">
                <tr>
                    <th>Kode Sub Kategori</th>
                    <th>Nama Kategori</th>
                    <th>Definisi</th>
                    <th>Unsur Abstrak</th>
                    <th>Alias</th>
                </tr>
                <tr>
                    <?php
                        foreach((array)$kodeSubKategori as $itemKodeSubKategori)
                            echo '<td>'.$itemKodeSubKategori.'</td>';
                    ?>
                    <?php
                        foreach((array)$namaSubKategori as $itemNamaSubKategori)
                            echo '<td>'.$itemNamaSubKategori.'</td>';
                    ?>
                    <?php
                        foreach((array)$definisiSubKategori as $itemDefinisiSubKategori)
                            echo '<td>'.$itemDefinisiSubKategori.'</td>';
                    ?>
                    <?php
                        foreach((array)$unsurAbstrakSubKategori as $itemUnsurAbstrakSubKategori)
                            echo '<td>'.$itemUnsurAbstrakSubKategori.'</td>';
                    ?>
                    <?php
                        foreach((array)$aliasSubKategori as $itemAliasSubKategori)
                            echo '<td>'.$itemAliasSubKategori.'</td>';
                    ?>
                </tr>
            </table>

它成功地只顯示最后一個數據。 我想從 foreach 的結果中獲取所有數據。 我怎樣才能做到這一點?

因為您每次都覆蓋數據數組,所以每次都只獲得最后一個值。

您需要使用自動遞增的值創建數組

$i=0;
foreach($get_json_subkategori['SubKategoris'] as $itemSubKategori){
        $kodeSubKategori = $itemSubKategori['KodeSubKategori'];
        $namaSubKategori = $itemSubKategori['Nama'];
        $definisiSubKategori = $itemSubKategori['Definisi'];
        $unsurAbstrakSubKategori = $itemSubKategori['UnsurAbstrak'];
        $aliasSubKategori = $itemSubKategori['Alias'];

        $data[$i]['kodeSubKategori']=$kodeSubKategori;
        $data[$i]['namaSubKategori']=$namaSubKategori;
        $data[$i]['definisiSubKategori']=$definisiSubKategori;
        $data[$i]['unsurAbstrakSubKategori']=($unsurAbstrakSubKategori) ? 'true' : 'false';
        $data[$i]['aliasSubKategori']=$aliasSubKategori;
        $i++;
    }

我建議您將data數組中的所有$get_json_subkategori['SubKategoris']數組傳遞給您的視圖:

$get_url_subkategori = $this->ws_url->GetUrl('SubKategoriRetrieve?KodeKategori='.$param);
$get_json_subkategori = json_decode(file_get_contents($get_url_subkategori), true);
$data['itemSubKategori'] = $get_json_subkategori['SubKategoris'];

$this->load->view('include/header');
$this->load->view('kategori_detail', $data);
$this->load->view('include/footer');

在你看來:

   <h3>Sub Kategori</h3>
        <table class="table table-responsive table-inherit">
            <tr>
                <th>Kode Sub Kategori</th>
                <th>Nama Kategori</th>
                <th>Definisi</th>
                <th>Unsur Abstrak</th>
                <th>Alias</th>
            </tr>
             <?php foreach($itemSubKategori as $rowSubKategori): ?>
            <tr>
                <td><?php echo $rowSubKategori['kodeSubKategori'] ?></td>
                <td><?php echo $rowSubKategori['namaSubKategori'] ?></td>
                <td><?php echo $rowSubKategori['definisiSubKategori'] ?></td>
                <td><?php echo $rowSubKategori['definisiSubKategori'] ?></td>
                <td><?php echo $rowSubKategori['unsurAbstrakSubKategori'] ?></td>
                <td><?php echo $rowSubKategori['aliasSubKategori'] ?></td>
            </tr>
            <?php endforeach; ?>
        </table>

在一個數組中傳遞數據。 並且您可以在一次foreach llop 中查看所有內容

用這個

在控制器中

$get_url_subkategori = $this->ws_url->GetUrl('SubKategoriRetrieve?KodeKategori='.$param);
$get_json_subkategori = json_decode(file_get_contents($get_url_subkategori), true);


$data['itemKodeSubKategori']    =   $get_json_subkategori;

$this->load->view('include/header');
$this->load->view('kategori_detail', $data);
$this->load->view('include/footer');

在視圖中

<tr>
    <?php
        foreach($kodeSubKategori as $itemKodeSubKategori)
        {
            echo '<td>'.$itemKodeSubKategori['KodeSubKategori'].'</td>';
            echo '<td>'.$itemKodeSubKategori['Nama'].'</td>';
            echo '<td>'.$itemKodeSubKategori['Definisi'].'</td>';
            echo '<td>'.$itemKodeSubKategori['UnsurAbstrak'].'</td>';
            echo '<td>'.$itemKodeSubKategori['Alias'].'</td>';
        }
    ?>       
</tr>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM