0
SELECT * FROM image;

そのクエリを使用して画像テーブルからデータを取得しています。このクエリを直接mysqlコマンドラインに使用してチェックすると、次のような3つの結果が表示されました

3 rows in set (0.00 sec);

しかし、query または active_record を使用して codeigniter から取得しようとすると、1 つの結果しか表示されません。これは私のコードです

class Produk_model extends CI_Model{
    function __construct(){
        parent::__construct();
    }

    function get_phome(){
        $this->db->select('nama_produk, nama_seo, nama_kategori, seo_kategori, nominal_harga');
        $this->db->join('kategori','kategori.id_kategori=produk.id_kategori');
        $this->db->join('harga','harga.id_produk=produk.id_produk');
        $q=$this->db->get('produk');
        if($q->num_rows()){
            return $q;
        }
    }

    function get_all_pimage(){
        $q=$this->db->get('image');
        if($q->num_rows()>0){
            return $q;
        }
    }

    function get_by_kategori($kategori_name=''){
        $this->db->select('nama_kategori, seo_kategori, nama_produk, nama_seo, nominal_harga, url_img');
        $this->db->join('kategori', 'kategori.id_kategori=produk.id_kategori');
        $this->db->join('harga','harga.id_produk=produk.id_produk');
        $this->db->join('image','image.id_produk=produk.id_produk');
        $this->db->where('seo_kategori',$kategori_name);
        $q=$this->db->get('produk');
        if($q->num_rows()){
            return $q;
        }
    }

    function get_by_produk($produk_name=''){
        $this->db->select('produk.id_produk, nama_produk, nama_seo, short_desc, min_beli, nominal_harga');
        $this->db->join('produk_detil','produk_detil.id_produk=produk.id_produk');
        $this->db->join('harga','harga.id_produk=produk.id_produk');
        $this->db->where('nama_seo', $produk_name);
        $q=$this->db->get('produk');
        if($q->num_rows()){
            return $q;
        }
    }

    function get_img_by_produk($produk_id=''){
        $this->db->select('url_img');
        $this->db->where('id_produk', $produk_id);
        $q=$this->db->get('image');
        if($q->num_rows()){
            return $q;
        }
    }
}

コントローラーから以下の関数で get_all_pimage() を使用しようとしています

function home(){
            $this->load->model('produk_model');
            $data['konten']=$this->produk_model->get_phome()->result();
            $data['img']=$this->produk_model->get_all_pimage()->row_array();
            $this->load->view('frontend/home', $data);
        }

しかし、次のように1つの結果が表示されました:

Array
(
 [id_image] => 2
 [id_produk] => PRD002
 [seo_image] => pastel-1
 [url_img] => pastel-1.jpg
)

なぜそれが起こるのか、私は混乱しています。どこが間違っているのかわからないからです。助けてくれてありがとう

4

1 に答える 1

0

機能を変更して..

function get_all_pimage(){
$q=$this->db->get('image');
if($q->num_rows()>0){
    return $q->result_array();
 }
 }

row->Array() を呼び出しから外してください...そのように..

 $data['img']=$this->produk_model->get_all_pimage();

次に foreach...

foreach($data['img'] as $val){
  //display you data
}
于 2013-06-13T21:33:25.827 に答える