0

データベースにいくつかの画像を保存しましたが、それらを取得しようとしています。私のスクリプトの設定方法は、1 人のユーザーがそれに合わせて情報と画像を選択するというものです。以下のコードは、価格、車、詳細とともに画像がどのように表示されるかを示しています。現在、画像が表示されず、ひし形のエラーでクエスチョン マークの 1 つが表示されます。何か案は?

データベース内の画像は、BLOB、MIME タイプの image/jpeg として保存されます

       form method="post" action="booked.php">
  <table>
  <?php while($row=mysql_fetch_assoc($result)) { ?>
    <tr>
      Images: <img style="width: 130px; height: 100px" alt="<?php echo $row['car']; ?>" src="image/<?php echo $row['img']; ?>" /></td>
      Car: <input type="text" name="car"  value="<?php echo $row['car']; ?>" readonly> 
      Details: <input type="text" name="details" value="<?php echo $row['details']; ?>" readonly>
      Price: <input type="text" name="price" value="<?php echo $row['price']; ?>" readonly>
      <input type="radio" name="selected_car" value="<?php echo $row['car']; ?>" /><br>
      <br /><br /><br />

    </tr>
  <?php } ?>

  </table>
4

3 に答える 3

0

どうしてもすべての画像データを HTML に貼り付けたい場合は、base64 エンコードする必要があります。ここで方法を参照してください: mysql blob に保存された画像を表示する しかし、gview が言うようにすることを強くお勧めします: 画像を取得するためだけに別の php スクリプトを作成します。次のようになります。

<?php
    header('Content-type: image/jpeg');
    $id = $_GET["id"];
    ... get the image from database by $id and echo it ...
?>

...さらに良い-画像をBLOBとして保存しないでください。それらをファイルとして保存し、ファイル名のみをデータベースに保存します。

于 2013-04-10T20:01:29.347 に答える
0

ファイル名または実際のファイルを保存していますか? それが実際のファイルである場合は、DB からデータを取得して出力として表示するスクリプトを作成する必要があります。何かのようなもの:

<?php $img = file_get_contents($row['img']); echo $img;

于 2013-04-10T19:48:44.810 に答える
0

html で画像を表示するには、img タグを使用する必要があります。画像データの src は URL である必要があります。

データを返すだけで、それが表示されることを期待することはできません。人々は通常、header() 関数を使用して設定された MIME タイプで画像データを返すだけの別のスクリプトを作成します。

<img src="getimage.php?id=<?php echo $row['id'] ?>">

これは、実際に画像データをデータベース テーブルのバイナリ フィールドに格納していることを前提としています。

于 2013-04-10T19:48:52.997 に答える