2017-03-21 35 views
-1

我正在使用mvc框架,我爲表中的每個屬性存儲了三張圖片。現在當用戶選擇一個屬性時,我希望分開顯示三張圖片。我已經連接到我的數據庫表在我的模型頁面:使用PHP從數據庫字段中分解項目

public function get_pictures($pick) 
    { 
     $sth = $this->db->query("SELECT other_img FROM property WHERE name = '$pick'");//pick is the property the user selects 
    } 

和我的控制器頁面有以下功能:

if(isset($_GET['pick'])){ 
      $pick = $_GET['pick']; 
      $this->view->data['picture']=$this->model->get_pictures($pick); 
    } 

然後在我的視線。我試圖從表內爆不同的圖片,並在引導轉盤使用它們:

<div class="carousel-inner" role="listbox"> 
<?php foreach ($picture as $key => $value) { $pix = explode(",", $value);?> 
<div class="item active"> 
<img src="<?php echo URL.'public/'.'images/'.$pix[0]?>" alt=""> 
</div> 

<div class="item"> 
<img src="<?php echo URL.'public/'.'images/'.$pix[1]?>" alt=""> 
</div> 

<div class="item"> 
<img src="<?php echo URL.'public/'.'images/'.$pix[2]?>" alt=""> 
</div> 
<?php } ?> 
</div> 

但它給我的錯誤:

Invalid argument supplied for foreach().

+0

開始用'的print_r($圖片)' –

回答

2

您需要添加return語句的功能get_pictures($pick)

public function get_pictures($pick) 
{ 
    $sth = $this->db->query("SELECT other_img FROM property WHERE name = '$pick'"); 

    return $sth; 
} 
0

我認爲錯誤來自於錯誤的MYSQL查詢。

財產以後嘗試:

這是我最喜歡的功能之一我把它放在我的索引的第二行(所以它的全局訪問)。

// First step in debugging 
function sortDump($mixed = null) { 
    echo '<pre>'; 
    var_dump(($mixed == null ? $GLOBALS : $mixed)); 
    echo '</pre>'; 
    exit(1); 
} 

您可以通過將您希望檢查的值作爲參數來使用它。

sortDump($this->model->get_pictures($pick)); // This my help the debug 

我認爲我們需要看看這個以獲得進一步的煽動。 所以回來後,但第一個人的批評......

有經驗的PHP開發者會使用的簡寫版本:

<?php echo URL.'public/'.'images/'.$pix[2]?> 

爲了=>

<?=URL .'public/images/'. $pix[2]?> 
相關問題