2013-08-17 26 views
-1

我在哪裏錯了我從MySQL數據庫中提取國名?
(codeigniter:activerecord enabled)
它打印出「默認國家」,而不是預期的「澳大利亞」。在哪裏我錯了我從MySQL數據庫中提取值?

頁面控制器

public function view($page) 
{ 

    $page = strtoupper($page); // Capitalize the first letter 
    $data = array(
       'title' => 'My Title', 
       'country' => 'default country' 
     ); 




    $this->getCountryName($page, $data); 

if(!is_null($data['country'])){ 
     $page = "country"; 
    } 

    $this->load->helper('url'); 
    $this->load->helper('utility'); 
    $this->load->view('templates/header', $data); 
    $this->load->view('pages/'.$page, $data); 

    if(!is_null($data['country'])){ 
    $this->load->view('templates/infobox', $data); 
    } 

    $this->load->view('templates/footer', $data); 

} 

function getCountryName(&$page, &$data){ 

    $this->db->select('name')->from('pv_country')->where('code', $page); 


    $query = $this->db->get(); 



     if ($query->num_rows() > 0) 
     { 
      foreach ($query->result() as $row) 
      { 
       $data['country'] = $row; 
       echo $row; 
      } 
     } 

    } 

鄉村景

<div style =" position:absolute;top:90%; background: red;"> 
<?php echo $country; ?></div> // prints default country. 
</div> 

country codes遇到

一個PHP錯誤
嚴重性:4096
消息:類stdClass的客體不能轉換成字符串
文件名:頁/ country.php
行號:25
+0

是'$ data'其之前發送到模板正確的語境? – Bartek

+0

不知道我明白巴特克嗎?默認國家我設置陣列初始化時。但我嘗試從數據庫設置國家值,當我通過引用調用函數getCountryName。我現在得到一個錯誤,會更新它。 – jsky

+0

對於試圖問題的Bartek感到抱歉,但我發現文檔在某些點上令人困惑。它可能是因爲即時通訊對PHP和CI文檔仍然有一些新的假設。我工作過,如果你願意,請投票支持,謝謝你的幫助。 – jsky

回答

0

,所以我把一些更多的調試和找到正確的語法/方法調用以獲得結果 ,然後返回一個對象,該對象具有需要在視圖中訪問的屬性。

function getCountryName(&$page, &$data){ 

    $this->db->select('name')->from('pv_country')->where('code', $page); 
    $query = $this->db->get(); 

     if ($query->num_rows() > 0) 
     { 

      $data['country'] = $query->row();  

     } 
} 

enter image description here

<?php echo $country->name; ?> 
+1

萬歲,你懂了!對不起,我無法提供更多幫助。有時唯一的答案只是更多的調試:) – Bartek