2016-02-11 43 views
1

我的問題是如何從數據庫顯示數組圖像。我調用該數組圖像是因爲當我上傳該圖像時,我正在使用數組來上傳到數據庫。在codeigniter中顯示來自數據庫的多圖像(數組)名稱

我使用此代碼的文件名中插入到數據庫

public function multipost() 
{ 
    $filepath = $this->upload->get_multi_upload_data('file_name'); 

    $filenames = ''; 

    foreach($filepath as $a) { 
     $filenames .= $a['file_name'].","; 
    } 
    $filenames = rtrim($filenames,','); 


    $db_data = array(
     'pic_id'=> NULL, 
     'ad_pic'=> $filenames, 
    ); 
    $this->db->insert('technical_slide_img', $db_data); 
} 

導致到

enter image description here

正如你可以看到ad_pic柱具有1.jpg,2.jpg值。 如果我這樣使用

<?php foreach ($this->header_model->getalldata() as $row) { 
     $image_arr = explode("/", $row->image); 
     $image_name = end($image_arr); 
echo base_url().'images/'.$image_name; 
} ?> 

顯示該圖像。有什麼方法可以顯示該圖像嗎?或者,我是否需要將這兩個圖像分成幾行?

+0

任何原因,你在使用'爆炸( '/')',而不是'爆炸( ''),'既然你想先用逗號 – Bankzilla

回答

1

更換

<?php foreach ($this->header_model->getalldata() as $row) { 
    $image_arr = explode("/", $row->image); 
    $image_name = end($image_arr); 
    echo base_url().'images/'.$image_name; 
} ?> 

<?php 
foreach ($this->header_model->getalldata() as $row) 
{ 
    $image_arr = explode(",", $row->ad_pic); 
    foreach($image_arr as $image_name) 
    { 
    echo base_url().'images/'.$image_name .'<br />'; 
    } 
} 
?> 
+0

並嘗試更換**,這是行不通的?**產生錯誤。 –

+0

先生它的工作原理,但只有最後一個文件名,而不是所有文件名有沒有辦法讓1的名稱1? –

+0

哦,對不起,這些話(這是行不通的?) –

0

正如我在您的數據庫表中看到的圖像使用逗號,保存,並用斜槓/將其爆炸。所以我認爲你必須用,代替/在爆炸功能。

<?php foreach ($this->header_model->getalldata() as $row) { 
    $image_arr = explode(",", $row->image); 
    $image_name = end($image_arr); 
    echo base_url().'images/'.$image_name; 
} ?> 
+0

分割字符串,當我將其替換爲逗號時,只顯示最後一個文件名(2.jpg)而不是全部文件名。 –

相關問題