2017-12-04 27 views
1

mysqlデータベースとphpを使用してテーブルに画像を表示しようとしています。私のテーブルの他のすべての情報は、画像以外は表示されています。私はこれを受け取ります。mysqlデータベースから画像が正しく表示されない

JFIF (%!1!1).... 383,7 * - 7+%& ----- 5 --- + ------- -5 ----- + ------------------- 5 -/- " B!1A" Qa2

私のテーブルでこれはしばらく続きます。私のデータベースでは、私はblobとヌルに設定された画像を持っています。私はそれを表示するためにこのコードを使用しています。

<?php 
      include 'connect.php'; 
      $results = mysqli_query($con, 'select * from products');  
      ?> 
      <table cellpadding="3" cellspacing ="3" border="0"> 
       <tr> 
        <th>Image</th> 
        <th>Name</th> 
        <th>Description</th> 
        <th>Price</th> 
        <th>Buy Product</th> 
       </tr> 
       <?php 

       while($products= mysqli_fetch_object($results)){ 
        if($products->id<=10){?> 
       <tr> 
        <td><?php echo $products->images;?></td> 
        <td><?php echo $products->name;?></td> 
        <td><?php echo $products->description;?></td> 
        <td><?php echo $products->price;?></td> 
        <td><a href="cart.php?id=<?php echo $products->id; ? 
>">Add to Cart</a></td> 
       </tr> 
       <?php }} ?>  
      </table> 

ご協力いただければ幸いです。ありがとうございました。

+0

htmlでは、ファイル(または動的に作成されたもの)への参照であるソースを持つイメージタグを使用します。あなたがやっていることは、htmlの中のblobデータをプリントアウトすることです。 –

+0

どこでもタグが表示されません – Strawberry

答えて

1

まず、画像データをデータベースに保存することは、特に画像がたくさんあるときは悪い考えです。ファイルへのパスだけを格納し、HTMLコード内にリンクするのが少し良い方法かもしれません。

とにかく問題があり、解決策があります。現時点では、画像の生のバイナリデータであるBLOBの内容が表示されています。画像を表示するには、適切なソースを持つ<img>タグが必要です。

このような何か:それはより多くのようになりますあなたの正確な場合

<img src="data:image/jpeg;base64,<?= base64_encode($blob) ?>"/>; 

... 
<td> 
    <!-- JPG image --> 
    <img src="data:image/jpeg;base64,<?= base64_encode($products->images) ?>"/>; 
</td> 
... 
+0

ありがとうございます、あなたのコードは完璧に機能しました! – harrison

+0

私は@harrisonを助けてくれてうれしいです投稿の横のチェックマークをクリックすることで、私の解決策を回答として選択してください。 – iivannov

0

一般的に悪い考えと考えられているデータベースに画像を保存、あなたが保存しようとする必要があります代わりに画像パス。

あなたが本当にそのように行う必要がある場合は、それらを表示するには、正しいタグを使用する必要があります。

<td><img alt="" src="data:<?php echo $products->images;?>"></td> 

例えば、しかし、考え直してください。

+0

ありがとうございます。しかし、なぜイメージを悪い習慣として保存することを検討しますか? – harrison

+0

パフォーマンス、使いやすさ、データベースサイズを中心に。 ウェブ上で多くのプロ/欠点を見つけることができます(例: https://stackoverflow.com/questions/815626/to-do-or-not-to-do-store-images-in-a-database? noredirect = 1&lq = 1 –

関連する問題