我正在尝试使用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 <strong>$product_name</strong> - $$price - <em>Added $date_added</em> <a href='inventory_edit.php?pid=$id'>edit</a> • <a href='inventory_list.php?deleteid=$id'>delete</a><br />";
}
} else {
$product_list = "You have no products listed in your store yet";
}
?>
理论上,我试图添加,其中的文字在哪里使用图像:
<img src='../inventory_images/$pid.jpg' />
然而,我尝试的这个和其他变化不起作用。如何上传图像是变量&#34; $ pid&#34;是产品的ID,并添加.jpg结尾,这里是解释的代码:
$pid = mysql_insert_id();
$newname = "$pid.jpg";
move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
所以从理论上讲,只要拥有产品ID,我就可以使用$ pid来获取图像......那是不行的。想法?提前谢谢!
答案 0 :(得分: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语句并进行一些错误处理(更新数据库中的字段,发送电子邮件等等)。
希望这有帮助。
答案 1 :(得分:1)
看起来您的输出中也有错误,您是否可以尝试替换该行:
$product_list .= "HERE IS WHERE THE IMAGE <strong>$product_name</strong> - $$price - <em>Added $date_added</em> <a href='inventory_edit.php?pid=$id'>edit</a> • <a href='inventory_list.php?deleteid=$id'>delete</a><br />";
用这一行:
$product_list .= "HERE IS WHERE THE IMAGE <strong>$product_name</strong> - \$$price - <em>Added $date_added</em> <a href='inventory_edit.php?pid=$pid'>edit</a> • <a href='inventory_list.php?deleteid=$pid'>delete</a><br />";