2016-04-10 20 views
0

Bir tablodaki görüntüleri bir SQL veritabanından (DB'deki bir URL kullanarak) görüntülemeye çalışıyorum.SQL Databse'de Depolanan URL'den Resim Görüntüleme PHP Kullanılıyor

Bu tür bir uygulama için hâlâ oldukça yeniyim, bu yüzden en iyi şansımı veriyorum ve araştırma yapmaya çalışıyorum, ancak URL'leri kullanmaya çok fazla şey bulamadım (BLOB'ları kullanmak yerine veya doğrudan Veritabanı). Görüntülerimı bir dosya sisteminde saklamak istiyorum. Şu anda benim kod yalnızca URL'yi (besbelli) görüntüler ama birkaç şey denedim ..

denedim: $ görüntüsünü kullanan bir PHP değişkeni $ görüntüye
-Passing $ satır [ "card_image"] ve -> load()
"<img src="$row["card_image"]">"'u kullanma (Bağlantı çıkışını aldığımdan beri hayal etmiştim hala işe yarayabilirdi ...)
Ayrıca Stack Overflow üzerinde bulduğum birkaç çözümü denedim ama Bunlar çoğunlukla BLOB veri tipleri ile kullanılmak üzere olmuştur ve bu yüzden onlar da arzu ettiğim çıktıyı üretemediler (IE

İşte benim geçerli kod:

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); 

cevap

0

yerine (Ben yer kazanmak için alanları sızmış olması):

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

deneyin:

stumbles ve bu aynı sorunu yaşıyor olabilir herkes için
$image = $row["card_image"]; // the image url 

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

Kod "çalışır", ancak bir çıkış çıktı vermek yerine, hiçbir şey çıkarmaz. Yol kesinlikle iyidir, bağlantıyı tarayıcıya koyduğumda bağlantı doğrudan görüntüye yönlendirir. –

0

: Yeni başlayanlar için

, ben veritabanı girişinin dışında tüm URL'yi aldı ve sadece Şu Dosya ile değiştirilir. O şimdi mükemmel görüntüler

// 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 />"; 

:

Daha sonra, böyle kodumu düzenlenmiş. Sadece bir not olarak, bu yerel bir muhatabı olan canlı bir sunucuda yapıldı, böylece bir etkisi olabilirdi. Emin değilim, ama umarım bu birilerine yardımcı olabilir!

İlgili konular