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 回答