Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wywoływanie funkcji modelu w widoku codeigniter

MVC lub nie do MVC

Pierwszą rzeczą, na którą powinienem zwrócić uwagę, jest to, że Nie można napisać klasycznego MVC w PHP . W rzeczywistości frameworki PHP podobne do MVC, takie jak CodeIgniter lub Yii, implementują rodzaj MVP w którym:

  • widok jest pasywny i nieświadomy modelu
  • prezenter (kontroler) zmienia stan modelu, odczytuje informacje i przekazuje je do widoku

Uznania dla tereško

Podejście CodeIgniter

Jednak, szczególnie w CodeIgniterze, masz 3 kroki:

  • Utwórz model przeszukiwać bazę danych i zwracać dane (jako tablicę lub obiekt)
  • Utwórz kontroler załadować i pobierz wynik z Modelu (metoda Modelu) i przekazuje zwrócone dane do widoku
  • Utwórz widok i użyj pętli PHP, aby wyświetlić wynik, zbuduj HTML.

Wszystko razem

Biorąc pod uwagę powyższe podejście, musisz pobrać wynik z bazy danych w swoim modelu:

aplikacja/modele/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');
    }
}

Następnie pobierz i przekaż wynik w kontrolerze:

aplikacja/kontrolery/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);
    }
}

Na koniec użyj zwróconych danych w widoku, aby wygenerować listę:

aplikacja/widoki/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. Wyszukiwanie na żywo za pomocą PHP AJAX i XML

  2. MySQL:zaktualizuj zapytanie za pomocą If else

  3. Upuszczanie tabeli powoduje zawieszanie się MySQL

  4. MySQL otrzymuje brakujące identyfikatory z tabeli

  5. Czy SQL Server oferuje coś podobnego do aktualizacji MySQL ON DUPLICATE KEY?