2016-10-30 5 views
1

データベースに2つのテーブルがあり、モニタ[pk = idMonitor]とmonitor_data [pk = idMonitor_data]があります。コードシニターの2つのテーブルから配列データを表示

Please click you can see the tables fields here。ご覧のとおり、配列データをテーブルmonitor_dataに入れます。

すべてのidinventoryの条件を更新したいと思いますwhere monitor_data.idMonitor = $id

しかし、まず私は 'monitordate'、 'idinventory'、および 'condition'の現在のデータをデータベースから私のビューに表示したいと思います。

私のコントローラ

public function edit($id=0) { 
    $dataa = $this->monitor_m->get_record(array('monitor_data.idMonitor'=>$id),true); 


    $this->data->monitordate = $dataa->monitordate; 
    $this->data->condition = $dataa->condition; <-line 20 

    $this->data->detail = $this->monitor_m->get_record(array('monitor_data.idMonitor'=>$id),true); 

    $this->template->set_title('SMIB | Monitoring') 
    ->render('monitor_edit',$this->data); 
} 

マイビュー(monitor_edit)

<?php echo form_open(site_url("monitor/ubah"),'data-ajax="false"'); ?> 
     <?php foreach ($detail as $items): ?> 
      <h4><?php echo '[ '.$items['idinventory'].' ] '?> </h4> 
      <?php echo form_label ('Condition : '); 
        echo form_dropdown('condition', array('good'=>'Good','broke'=>'Broken','lost'=>'Lost'),@$items['condition']); 
     ?>   
     <?php endforeach; ?> 
     <?php echo form_close(); ?> 

マイモデル

class Monitor_m extends MY_Model { 

    public function __construct(){ 
     parent::__construct(); 
     parent::set_table('monitor','idMonitor'); 
    } 

public function get_record($id = 0,$get_user = FALSE) { 
     $this->db->where($id); 
     if ($get_user){ 
      $this->db->join('monitor_data','monitor_data.idMonitor = monitor.idMonitor'); 
      $this->db->join('inventory','inventory.idinventory = monitor_data.idinventory');   
      $this->db->join('user','user.id_user = monitor.id_user'); 

     } 
     $data = parent::get_array(); 

     return $this->improve_data($data); 

    } 

は、ここに私の問題です:私のコントローラで monitordateコードのためにその作業罰金が、私は私のパラメータ$id idinventoryないよう'monitor_data.idMonitor'を使用するので、私は条件

たぶん
コードのエラーを取得しておきます。どのように私はwhere idMonitor=$id and idinventory=$idiventoryのように2つのパラメータを使用することができます。

私はそれを正しく説明していますか?

重大度:通知メッセージ:コントローラー/ monitor.php行番号:20

、私を助けて私が間違っているものを知ってはいけないしてくださいしてください非オブジェクト
ファイル名のプロパティを取得しようとすると、私のコントローラ:(私は解決策が、これらの作品のどれを検索しました。:(

+0

条件フィールドはmonitor_dataテーブルにあり、モニタにはありません。 – Shadow

+0

ファイル名とクラス名のために、このようにしないでください。http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

@ Shadowはい、私はモデルでget_record関数を使用しています。上記のモデルコードを追加します。 – Noname

答えて

0

uがmonitordateを得ることができますが、条件

を得るカント場合、それは奇妙だあなたはこのようになり、あなたのコントローラを編集することができますか?

public function get_record($id = 0,$get_user = FALSE) { 
     $this->db->where($id); 
     if ($get_user){ 
      $this->db->join('monitor_data','monitor_data.idMonitor = monitor.idMonitor'); 
      $this->db->join('inventory','inventory.idinventory = monitor_data.idinventory');   
      $this->db->join('user','user.id_user = monitor.id_user'); 

     } 
     // $data = parent::get_array(); 
      $data = $this->db->result_array(); 
      print_r($data); 
      echo $this->db->last_query(); 
      exit; 

     return $this->improve_data($data); 

    } 
関連する問題