0

我正在尝试使用 php 根据项目的 id 显示图像。这是针对电子商务商店的,但是我很难弄清楚。这是我拥有的 php:

     <?php 
     $product_list = "";
     $sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC");
     $productCount = mysql_num_rows($sql);
     if ($productCount > 0) {
         while($row = mysql_fetch_array($sql)){ 
             $pid = $row['id'];
             $product_name = $row["product_name"];
             $price = $row["price"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
             $product_list .= "HERE IS WHERE THE IMAGE  &nbsp; <strong>$product_name</strong> - $$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$id'>edit</a> &bull; <a href='inventory_list.php?deleteid=$id'>delete</a><br />";
         }
     } else {
         $product_list = "You have no products listed in your store yet";
     }
?>

从理论上讲,我试图添加,文本 HERE IS WHERE THE IMAGE 是要使用的:

    <img src='../inventory_images/$pid.jpg' />

然而,我尝试过的这个和其他变体不起作用。图片是怎么上传的,变量“$pid”是商品的id,加上.jpg结尾,下面代码解释一下:

    $pid = mysql_insert_id();
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");

因此,理论上只需拥有产品 ID,我就可以使用 $pid 来获取图像......这是行不通的。想法?提前致谢!

4

2 回答 2

1

我看到您发现您的图像实际上并不存在,所以我想与您分享。您可以很容易地检查此文件是否存在:

if (file_exists ('../inventory_images/' . $pid . '.jpg')) {
  $product_image = '<img src="../inventory_images/' . $pid . '.jpg">';
} else {
  $product_image = '<img src="../inventory_images/image_not_found.jpg">';
}

然后只需在 $product_list 中需要它的地方使用该 $product_image 变量。您还可以修改 else 语句并进行一些错误处理(更新数据库中的字段,向您发送电子邮件等)。

希望这可以帮助。

于 2012-06-18T19:39:09.350 回答
1

看起来您的输出中也有错误,您能否尝试替换该行:

$product_list .= "HERE IS WHERE THE IMAGE  &nbsp; <strong>$product_name</strong> - $$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$id'>edit</a> &bull; <a href='inventory_list.php?deleteid=$id'>delete</a><br />";

用那一行:

$product_list .= "HERE IS WHERE THE IMAGE  &nbsp; <strong>$product_name</strong> - \$$price - <em>Added $date_added</em> &nbsp; &nbsp; &nbsp; <a href='inventory_edit.php?pid=$pid'>edit</a> &bull; <a href='inventory_list.php?deleteid=$pid'>delete</a><br />";
于 2012-06-18T20:14:09.960 回答