Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memanggil fungsi model di view codeigniter

MVC atau tidak ke MVC

Hal pertama yang harus saya perhatikan adalah Tidak mungkin menulis MVC klasik di PHP . Faktanya framework PHP seperti MVC seperti CodeIgniter atau Yii mengimplementasikan semacam MVP di mana:

  • tampilan pasif dan tidak mengetahui model
  • penyaji (pengontrol) mengubah status model, membaca informasi dan meneruskannya untuk dilihat

Kredit untuk tereško

Pendekatan CodeIgniter

Namun, khususnya di CodeIgniter, Anda memiliki 3 langkah:

  • Buat Model untuk melakukan kueri melalui database dan mengembalikan data (sebagai larik atau objek)
  • Buat Pengontrol untuk memuat dan ambil hasilnya dari Model (metode Model), dan meneruskan data yang dikembalikan ke tampilan
  • Buat Tampilan dan gunakan loop PHP untuk menggemakan hasilnya, buat HTML.

Berkumpul bersama

Mempertimbangkan pendekatan di atas, Anda perlu mengambil hasil dari database di Model Anda:

application/models/product.php

class Product extends CI_Model
{
    public function get_product($product_id)
    {
        $this->db->select('*')->from('products');
        $this->db->where('product_id', $product_id);
        $this->db->join('versions', 'versions.product_id = products.product_id');
        $query=$this->db->get();
        return $query->first_row('array');
    }
}

Kemudian ambil dan berikan hasilnya di dalam Controller:

application/controllers/products.php

class Products extends CI_Controller
{
    public function view($product_id)
    {
        $this->load->model('product');
        // Fetch the result from the database
        $data['product'] = $this->product->get_product($product_id);
        // Pass the result to the view
        $this->load->view('product_view', $data);
    }
}

Terakhir, gunakan data yang dikembalikan dalam tampilan, untuk membuat daftar:

application/views/product_view.php

// Use $product to display the product.
print_r($product);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah dengan karakter cyrillic di url ramah

  2. MySQL ORDER OLEH IN()

  3. Bagaimana cara mendapatkan ukuran tabel MySQL untuk tabel dalam database?

  4. Script login terakhir PHP

  5. Bagaimana cara menghentikan seseorang untuk kembali ke halaman sebelumnya?