2016-04-10 37 views
0

我試圖從表中的SQL數據庫(使用DB中的URL)顯示圖像。使用PHP顯示存儲在SQL數據庫中的URL圖像

對於這種類型的實現,我還是很新的,所以我一直在給它做我最好的拍攝,並試圖做研究,但沒有發現很多關於使用URL的問題(與使用BLOB或直接將圖像添加到數據庫)。我絕對想要將我的圖像保存在文件系統上。目前,我的代碼只顯示URL(明顯),但我已經嘗試了一些東西..

我曾嘗試:
-Passing $行[「card_image」]對PHP變量$圖像,並使用$圖像 - >負載()
- 使用"<img src="$row["card_image"]">"(我想到,因爲我得到一個鏈接輸出仍然可以工作...)
- 我也嘗試了一些其他解決方案,我發現堆棧溢出,但我相信這些主要用於BLOB數據類型,因此它們也未能產生我期望的輸出(IE
"<img src="data:image/jpeg;base64,'.base64_encode($image->load())'" />"

這裏是我當前的代碼:

SQL(我都凝結等領域,以節省空間)

CREATE TABLE cards (
    card_image VARCHAR(999) 
    ); 

insert into cards (card_image) 
values ('http://localhost/dbztc/wp-content/uploads/2016/04/1.jpg'); 

PHP

// Create connection 
$conn = new mysqli($servername, $username, $password, $db); 

if(!$conn) 
{ 
die("connection failed"); 
} 

//Table 
echo " 
     <table cellpadding=\"0\" cellspacing=\"2\" border=\"0\" width=\"100%\"> 
      <tr bgcolor=\"#666666\"> 
       <td colspan=\"5\" align=\"center\"><b><font color=\"#FFFFFF\">" . $table[0] . "</font></td> 
      </tr> 
      <tr> 
       <td>Image</td> 
       <td>Card Number</td> 
       <td>Card Rarity</td> 
       <td>Card Name</td> 
       <td>Card Type</td> 
       <td>Card Style</td> 
       <td>Card Text</td> 
      </tr>"; 

$sqlquery = "SELECT card_image, card_number, card_rarity, card_title, card_type, card_style, card_text FROM cards"; 
$result = mysqli_query($conn, $sqlquery); 
//$image = $row["card_image"]; 

if (mysqli_num_rows($result) > 0) { 

    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     echo "<td>" . $row["card_image"] . "</td>" . "<td>" . $row["card_number"]. "</td>" . "<td>" . $row["card_rarity"] . "</td>" . "<td>" . $row["card_title"] . "<td>" . $row["card_type"] . "</td>" . "<td>" . $row["card_style"] . "</td>" . "<td>" . $row["card_text"] . "</td></tr>"; 
    } 
} else { 
    echo "0 results"; 
} 

echo "</table>"; 

mysqli_close($conn); 

回答

0

相反的:

<td>" . $row["card_image"] . "</td> 

嘗試:

$image = $row["card_image"]; // the image url 

<td><img src='". $image . "'></td> 
+0

該代碼「工作」,而不是輸出一個鏈接,我什麼都不輸出。路徑絕對是好的,當我把鏈接放到瀏覽器中時,鏈接直接把我帶到圖片上。 –

0

對於任何人誰絆倒在此,也可以有同樣的問題:

對於初學者來說,我把整個網址移出數據庫條目,並只與文件名代替它。

之後,我編輯我的代碼是這樣的:

// output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 
     echo "<td>" . "<img src ='../images/" . $row["card_image"] . "'>" . "</td>" . "<td>" . $row["card_number"]. "</td>" . "<td>" . $row["card_rarity"] . "</td>" . "<td>" . $row["card_title"] . "<td>" . $row["card_type"] . "</td>" . "<td>" . $row["card_style"] . "</td>" . "<td>" . $row["card_text"] . "</td></tr>"; 
     echo "<br />"; 

現在顯示完美。就像一個筆記一樣,這是在一個與本地服務器相反的服務器上完成的,因此可能也會產生影響?不確定,但希望這可以幫助別人!

相關問題