2016-10-30 1 views
1

데이터베이스에 두 개의 테이블이 있습니다. 모니터는 [pk = idMonitor]이고 모니터 데이터는 [pk = idMonitor_data]입니다.코드 테이블에서 두 테이블의 배열 데이터 표시

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

것은 내가 잘못이 무엇인지 잘 모릅니다, 제발 도와주세요 제발 유 monitordate를 얻을 수 있지만 이렇게 될 수있는 컨트롤러를 편집 할 수 있습니다

조건을 얻을 수 없습니다 싶은 내 컨트롤러 :(내가 그 작품의 솔루션하지만 없음을 검색했습니다가. :(

+0

조건 필드는 모니터가 아닌 monitor_data 테이블에 있습니다. – Shadow

+0

파일 이름 및 클래스 이름 지정에 대한 측면에서이 방법을 따르지 않습니다. http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming – user4419336

+0

@ Shadow 그렇기 때문에 내 모델에서 get_record 함수를 사용합니다. 위의 모델 코드를 추가합니다. – Noname

답변

0

이 이상해?

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); 

    } 
관련 문제