2014-01-23 80 views
0

在我的Codeigniter項目中,表值不是從database.Am中使用MySQL(WAMP)作爲數據庫檢索。使用Select Query我檢查了數據庫中的數據,更新它也檢索舊的價值在db.But中檢索後期價值(即採取舊票據)它不檢索價值。問題只發生在單一領域(即actual_price)。如何解決這個錯誤。這裏附上屏幕截圖和控制器代碼。在CodeIgniter中從數據庫檢索值不起作用

Retrieved value from db Value in db 控制器代碼

function bill_view($billid) 
    { 
     if(!$billid) { 
     redirect('report/bill_report'); 
     } 
     $salecode =str_replace("_","/",$billid); 
     $filter ="gm_sale.saleCode ='$salecode'"; 
     $billArray =$this->sale_model->getBillinfo($filter); 

     $exshowroom=''; 
     $bank =''; 
     $scheme=''; 
     $wcoNo =''; 
     $saleId =0; 
     foreach($billArray as $key=>$val) { 
     $exshowroom = $val['actual_price']; 
     $date =$val['saledate']; 
     $sale_to=$val['saleCustomer']; 
     $saleUserId=$val['saleUserId']; 
     $wcoNo = $val['wcoNo']; 
     $saleId= $val['saleId']; 
     if(!is_null($val['bank']) && !empty($val['bank'])){ 
     $bank =$val['bank']; 
     } 
     if(!is_null($val['scheme_id']) && !empty($val['scheme_id'])){ 

      $array_scheme = unserialize($val['scheme_id']); 
       /////////////////////////////////////////// 
       foreach ($array_scheme as $val_scheme_id) { 
         $res_scheme = $this->db->get_where("gm_scheme",array('id'=>(int)$val_scheme_id)); 
         if($res_scheme->num_rows >0){ 
          $arrscheme  = $res_scheme->row_array(); 
          if(!empty($scheme)) { 
          $scheme .= ","; 
          } 
         $scheme  .= $arrscheme['schemeName']; 
         } 
       } 
       ///////////////////////////////////////////// 
     } 
     break; 
     } 

     $query = $this->db->get_where('gm_users',array('userId'=>(int)$saleUserId)); 
      if($query->num_rows >0) { 
      $arrUser =$query->row_array(); 
      }else{ 
       $arrUser =array(); 
      } 

     $data['list_product'] = $billArray; 

     $data['exshowroom']=$exshowroom; 
     $data['userinfo'] =$arrUser; 
     $data['saleCode'] =$salecode; 
     $data['sale_to'] =$sale_to; 
     $data['added_date'] =$date; 
     $data['bank'] =$bank; 
     $data['scheme'] =$scheme; 
     $data['wcoNo'] =$wcoNo; 
     $data['saleId'] =$saleId; 
     $this->load->view('header_login'); 
     $this->load->view('report/bill_view',$data); 
     //print_r($billArray); 
     $this->load->view('footer_login'); 
    } 

型號代碼

function getBillinfo($filter=''){ 
      $this->db->select('*,gm_sale.added_date as saledate'); 
      $this->db->from('gm_sale',FALSE); 
      $this->db->join('gm_products',"gm_sale.productId=gm_products.productId",FALSE); 
      $this->db->join('gm_model',"gm_products.model_id=gm_model.id",FALSE); 
      $this->db->join('gm_banks',"gm_sale.bank_id=gm_banks.bank_id","LEFT"); 
      if($filter<>"") 
      $this->db->where($filter,'',FALSE); 
      $this->db->order_by('gm_sale.saleId',"desc"); 
      $query = $this->db->get(); 
      print_r($query); 
       if($query->num_rows>0) { 
       $arrRow =$query->result_array(); 
       print_r($arrRow); 
       return($arrRow); 
      } 
      return(array()); 
     } 
+0

是什麼'FALSE'在連接語句值? –

+0

@ kumar_v ..如果將其設置爲FALSE,則CodeIgniter將不會嘗試使用反引號來保護您的字段或表名。 – Nidheesh

回答

2

你的代碼,您在控制器做數據庫的東西應該是在模型中有。

控制器沒有上下文

$this->db 

修改您的加入(第三個參數)來檢索actual_price

+0

$ billArray = $ this-> sale_model-> getBillinfo($ filter);否改變同一個問題 – Nidheesh

+1

是sale_model一個實際的模式和getBillinfo上面的方法在你的文章中?你有沒有在你的控制器中加載sale_model?任何錯誤? – raj

+0

Model sale_model已經存在。我已經在控制器中粘貼了模型代碼來檢查數據庫是否獲取數據。它已經默認加載。這是一個正在運行的項目。爲了維護目的,我最近添加了一個額外的字段即「actual_price」,該字段不檢索。其他字段正在工作正常 – Nidheesh