PHP显示数据库中的产品图像

时间:2014-03-08 13:52:39

标签: php

我正在制作订单信息页,我想检索客户订购的产品图片。目前,在我的页面中,它可以显示客户的产品名称,类型价格等,但图像除外。我试图检索图像但我下面使用的代码不起作用..我真的需要你的帮助告诉我哪个部分可能出错了。非常感谢你。

这是form.php

<table style="border-collapse: collapse; width: 100%; border-top: 1px solid #DDDDDD; border-left: 1px solid #DDDDDD; margin-bottom: 20px;">
<thead>
  <tr>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;"><?php echo $text_product; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: left; padding: 7px; color: #222222;"><?php echo $text_model; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: right; padding: 7px; color: #222222;"><?php echo $text_quantity; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: right; padding: 7px; color: #222222;"><?php echo $text_price; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; background-color: #EFEFEF; font-weight: bold; text-align: right; padding: 7px; color: #222222;"><?php echo $text_total; ?></td>
  </tr>
</thead>
<tbody>
  <?php foreach ($products as $product) { ?>
  <tr>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;">
<img src="getImage.php?$product_id=$product_id" width="100" height="100" /><?php echo $product['name']; ?>
      <?php foreach ($product['option'] as $option) { ?>
      <br />
      &nbsp;<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
      <?php } ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"><?php echo $product['model']; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;"><?php echo $product['quantity']; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;"><?php echo $product['price']; ?></td>
    <td style="font-size: 12px; border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: right; padding: 7px;"><?php echo $product['total']; ?></td>
  </tr>

这是getImage.php

<?php
$id = $_GET['id'];

$link = mysql_connect("localhost", "root", "");
mysql_select_db("nirvania");
$sql = "SELECT image FROM db_product WHERE product_id=$product_id";
$result = mysql_query("$sql");
$row = mysql_fetch_assoc($result);
mysql_close($link);

header("Content-type: image/jpeg");
echo $row['image'];
?>

2 个答案:

答案 0 :(得分:0)

在你的getImage.php中,你正在检查查询字符串中的键id,但是你传递的是1=1之类的东西。使用以下命令更改HTML:

<img src="getImage.php?id=<?php echo $product_id; /* or $product['id'] */ ?>">

但是,这不是直接在数据库中存储图像的最佳方法。我建议您在产品表中添加image_path列,这样您就可以执行以下操作:

<img src="<?php echo $product['image_path']; ?>">

答案 1 :(得分:0)

您应该查看的一些事项,您的图片来源使用php变量,但它不在php标记内

您是否尝试从

更改查询
SELECT image FROM db_product WHERE product_id=$product_id

SELECT image FROM db_product WHERE product_id=`$product_id`