2016-05-14 1 views
0

Je suis nouveau sur PHP et j'utilise Codeigniter. J'ai un fichier PHP et je l'ai fait ce qui suit comme POO:Classe PHP héritant Codeigniter

<<!DOCTYPE html> 
<?php 
class Producat 
{ 
    var $price; 
    var $title; 
    var $name; 

    public function setProducatName ($nam) 
    { 
    $this->name=$nam; 
    } 

    public function getProduactName() 
    { 
    echo $this->name; 
    } 
    public function setAttribute ($price1,$title1) 
    { 
    $this->price=$price1; 
    $this->title=$title1; 

    } 

class Fruniture extends Producat 
{ 
    var $size; 
    var $material; 
} 
    class Cddvd extends Producat 
{ 
    var $size; 
    var $manufacuter; 
} 

j'avais base de données appelée saied dans mon phpmyadmin.

J'essaye d'insérer le titre du produit à la base de données et puis également obtenir le nom de la base de données dans la classe.

  1. comme: comment se connecter à la base de données de la classe. Comment communiquer avec la base de données directement dans la classe de produit, mais il serait préférable que toutes les fonctions de base de données soient séparées
  2. J'ai besoin de l'attribut matériel juste pour avoir 2 choix (plastique ou bois)?
  3. Fonction permettant d'obtenir tous les attributs de produit L'attribut de taille pour CD/DVD doit toujours avoir un "MB" ajouté.

Note: J'ai fait tout le configurer pour se connecter à la base de données

Répondre

0

Ce n'est pas la manière exacte d'utiliser le cadre CI php . D'abord, vous devez comprendre les bases.

  1. Contrôleur - c'est une classe qui gère l'uri.
  2. Modèle - classe qui communique dans la base de données. Vues - affiche le code HTML.

Exemple Contrôleur:

<?php 
class Product extends CI_Controller { 

    public function index() 
    { 
     echo 'Hello World!'; 
     $this->load->view("products"); 
    } 
} 
?> 

Exemple Modèle:

class Product extends CI_Model { 

     var $title = ''; 
     var $content = ''; 
     var $date = ''; 

     function __construct() 
     { 
      // Call the Model constructor 
      parent::__construct(); 
     } 

     function get_all() 
     { 
      $query = $this->db->get('entries'); 
      return $query->result(); 
     } 
} 
0
  1. Supprimer cette <<!DOCTYPE html>
  2. dans votre getter (getProduactName par exemple) utiliser retourne pas l'écho
  3. place de setAttribute s et __construct
  4. étendre CodeIgniter Modèle

le code le plus être somthing comme:

<?php 
class Producat extends CI_Model 
{ 
    var $price; 
    var $title; 
    var $name; 

function __construct($price1,$title1) { 
parent::__construct(); 
$this->price=$price1; 
    $this->title=$title1; 
} 
    public function setProducatName ($nam) 
    { 
    $this->name=$nam; 
    } 

    public function getProduactName() 
    { 
    return $this->name; 
    } 
    public function setAttribute ($price1,$title1) 
    { 
    $this->price=$price1; 
    $this->title=$title1; 

    } 
function insert_indb(){ 
$data[] = ["title"=>$this->title]; 
$data[] = ["name"=>$this->name]; 
$data[] = ["price"=>$this->price]; 
$this->db->insert('students', $data); 
}