2016-05-14 3 views
0

私はPHPを初めて使い、私はCodeigniterを使用しています。私はPHPファイルを持っており、OOPとして以下を行っています。PHPクラスを継承する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; 
} 

phpmyadminにsaiedというデータベースがありました。

私は、製品のタイトルをデータベースに挿入しようとしていますが、そのクラスのデータベースからも名前を取得しようとしています。

  1. のように:クラス内のデータベースに接続する方法。製品クラスでデータベースと通信する方法はありますが、すべてのデータベース機能が分離されている方が望ましいでしょう。
  2. 材料属性には2つの選択肢(プラスチックまたは木材)が必要ですか?
  3. すべての製品属性を取得する機能CD/DVDのサイズ属性には常に「MB」が付加されている必要があります。

注:私はあなたがCIのPHPフレームワークを使用しての正確な方法ではありませんが、あなたの魔法__construct機能

http://php.net/manual/en/language.oop5.decon.php

答えて

0

に接続するために、すべての設定をしました。 まず、基本を理解する必要があります。

  1. コントローラ - これはURIを処理するクラスです。
  2. モデル - データベースと通信するクラス。
  3. ビュー - HTMLを表示します。

例コントローラー:

<?php 
class Product extends CI_Controller { 

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

例モデル:

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

が欠落しているデータベース

0
  1. 代わり
  2. をエコーないリターンを使う(exemple用getProduactName)あなたのゲッターにこの<<!DOCTYPE html>
  3. を削除しますsetAttributeの

    <?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); 
    } 
    
    :らは
  4. コードが気にいらないなどとすることが最も

CodeIgniterのモデルを拡張__construct