0

モデル

    $id = $this->session->userdata('id');

    $q = $this->db->get_where('shipping_address', array('customer_id' => $id));

    if ($q->num_rows == 0)
    {
        $data['id'] = 'You dont have a shipping address saved.';

    } else {
        foreach ($q->result() as $row) 
            {
            $data['first'] = $row->firstname;
            $data['last'] = $row->lastname;
            }
    }
    return $data;

コントローラ

    $this->load->model('Customer_accounts');

        $customer = $this->Customer_accounts->get_customer_info();
        $ship = $this->Customer_accounts->shipping_address();

        $data = $ship + $customer;

    $this->load->view('account_dashboard/personal_information', $data);

意見

<?php foreach ($ship as $row) : ?>
    <table class="fixCap" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><?php echo $row['firstname'] . $row['lastname']; ?></td> 
      </tr>

           . . .

      </tr>
    </table>
<?php endforeach; ?>    

Var_dump

arrayテーブルの1つだけを表示してrowsいますが、定義されたものを含む2つの行を表示している必要がありますcustomer_id

問題

すべてのデータベースdataforeach私が間違っていることに渡すことができませんか?

4

3 に答える 3

1

使用する:

$data = array_merge($ship, $customer); // they will merged as one array

または、それらを分離したい場合は、この方法で行うことができます

$data = array();
$data['ship'] = $ship;
$data['customer'] = $customer;

//In the view
//ship
foreach($data['ship'] as $ship)
{
   //Ship values
}

//customer
foreach($data['customer'] as $customer)
{
   //Customer value
}

どうも

于 2012-10-11T21:48:25.503 に答える
0

実際には、コードを使用してデータベースから結果を取得しているわけではありません。

このようなことを試してください

$ret =  $q->get()->result();

foreach($ ret as $ row){

}

于 2012-10-11T21:48:27.843 に答える
0

問題はModel、上記のコードを次のように置き換えたことにありました

モデル

return $this->db->get_where('shipping_address', array('customer_id' => $id))->result();

そして私の中で

意見

#I echoed the vars as objects 
$row->firstname
于 2012-10-11T21:55:00.870 に答える