2013-05-08 64 views
-5

下面的代碼將一個圖像呈現給瀏覽器並與我的數據庫結合使用,我想要顯示用戶的所有圖像,我應該如何修改下面的代碼?使用PHP將多個圖像呈現給瀏覽器

$coverpic = ""; 
$sql = "SELECT filename FROM photos WHERE user='$u'"; 
$query = mysqli_query($db_conx, $sql); 
if(mysqli_num_rows($query) > 0){ 
    $row = mysqli_fetch_row($query); 
    $filename = $row[0]; 
    $coverpic = '<img src="user/'.$u.'/'.$filename.'" alt="pic">'; 
} 
+0

你走到這一步,是什麼阻止你走得更遠? – George 2013-05-08 14:05:45

+1

注意:謹防'$ u'(逃避它,就像http://www.php.net/manual/en/mysqli.real-escape-string.php或參見http://php.net/manual/ EN/mysqli的-stmt.bind-param.php)。如果可以的話,也可以考慮http://www.php.net/manual/en/book.pdo.php – ShinTakezou 2013-05-08 14:12:27

+0

Thabks不是和F4r-20,我仍然在使用php – 2013-05-08 14:15:03

回答

0

您使用while循環來獲取結果。

$coverpic = ''; 
$sql = "SELECT filename FROM photos WHERE user='$u'"; 
$query = mysqli_query($db_conx, $sql); 
if(mysqli_num_rows($query) > 0){ 

    while($row = mysqli_fetch_row($query)) { 
     $filename = $row[0]; 
     $coverpic .= '<img src="user/'.$u.'/'.$filename.'" alt="pic">'; //notice the .= to append to the string instead of overwrite 
    } 

} 

但是,如果你想使你的代碼少檢查短一點:

$coverpic = ''; 
$query = mysqli_query($db_conx, "SELECT filename FROM photos WHERE user='$u'")){ 
while($row = mysqli_fetch_row($query)) { 
    $coverpic .= '<img src="user/'.$u.'/'.$row[0].'" alt="pic">'; 
} 
+0

無用if if – 2013-05-08 14:05:15

+0

在這種情況下,是的,但我仍然添加它可以顯示像'沒有找到圖像'的東西。 – 2013-05-08 14:10:25

+0

一個非常感謝你的人,會勾選你的答案有用,但我缺乏代表 – 2013-05-08 14:15:19

1

更換

if(mysqli_num_rows($query) > 0){ 
    $row = mysqli_fetch_row($query); 

+0

如果你解釋他的例子不起作用的原因通常很好,不只是給出答案。例如,根據[php doc](http://php.net/manual/en/mysqli-result.fetch-row.php),mysqli_fetch_row「從結果集中提取一行數據並將其作爲枚舉數組返回」所以你需要迭代循環來獲得所有結果。 – 2013-05-08 14:13:37

+0

非常感謝 – 2013-05-08 14:16:54

相關問題