2014-11-03 20 views
1

我有這樣的代碼:使用數據庫文本到圖像使用mysqli_fetch_row

$query = "SELECT vidRoles FROM videoinformation"; 

if ($result = mysqli_query($con, $query)) { 

    while ($row = mysqli_fetch_row($result)) { 
     $values = explode(',',$row[0]); 
     foreach($values as $v) 
      printf ("<img src=\"roles/%s.jpg\">", $v); 
    } 

    mysqli_free_result($result); 
} 

但不是顯示:

<img src="roles/Name1.jpg> 
<img src="roles/Name2.jpg> 
<img src="roles/Name3.jpg> 

我:

<img src="roles/Name1.jpg> 
<img src="roles/Name2.jpg> 
<img src="roles/Name3.jpg> 
<img src="roles/.jpg> 
<img src="roles/.jpg> 
<img src="roles/.jpg> 
<img src="roles/.jpg> 

但是這裏面vidRoles提起我有隻有「名稱1,名稱2,名稱3」。
爲什麼這個空的圖像顯示?

+0

你可以發佈'$ value'的結構嗎? – 2014-11-03 11:02:11

+0

@sgt Value =「Name1,Name2,Name3」 – Denis 2014-11-03 11:18:35

+0

爲什麼在此代碼之後數據庫的其餘信息不想工作?像以前一樣,我可以從數據庫中獲取信息,但一切都不起作用... – Denis 2014-11-03 11:25:45

回答

4

試試這個 -

foreach($values as $v) { 
    if (!empty($v)) { 
     printf ("<img src=\"roles/%s.jpg\">", $v); 
    } 
} 

有一些null值存在,這就是爲什麼它被打印。

+0

可能您知道......爲什麼在此代碼之後,數據庫的其餘信息不會想工作? – Denis 2014-11-03 11:24:17

+0

沒有讓你... – 2014-11-03 11:25:48

+0

好的,在此代碼之前,我顯示了數據庫中的圖像......(不同的一個)之前在代碼中的問題...所有圖像顯示..但畢竟圖像不顯示。 。 – Denis 2014-11-03 11:27:08

0

printf ('<img src=\"roles/%s.jpg\">', $v); 
+0

代碼在更改之後根本不起作用。 – Denis 2014-11-03 11:16:41

2

請更新您的查詢更改打印聲明:

$query = " 
    SELECT vidRoles 
    FROM videoinformation 
    WHERE LENGTH(vidRoles) > 0 
"; 

有一些行,其中vidRoles爲空或NULL

他們造成這個問題。

所以,爲了避免這個問題,我們可以做到這一點通過PHP的,如果else語句,或

只需添加一些SQL條件。

我認爲,第二個更好,因爲它有更少的努力。

+0

這是作品,但另一個問題爲什麼在這之後的所有查詢都不起作用?我的意思是,在我可以從數據庫中獲取信息之前,但在此代碼之後...其餘的查詢根本無法工作...... – Denis 2014-11-03 11:18:07

相關問題