我正在制作一个简单的购物车应用程序。主页面显示产品列表。当你点击产品名称时,它会把你带到一个只显示该产品信息的页面。现在,它没有显示任何内容。这是我的代码:
<?php
$sql = "SELECT product_id, image_path, name, description, price FROM products;";
$result = mysql_query($sql);
while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) {
echo "<tr>";
echo "<td><img src=$image_path height=200 width=160 border=1px /></td>";
echo "<td><b><a href='"getprod.php?product=" .
$product_id['product_id'] . "'">$name</a></b><br/ >";
echo "$description<br/ >";
echo "$$price<br/ >";
echo "<input type='button' value='Add to Cart' onclick='addtocart'/>";
echo "</tr>";
}
?>
我的productInfo方法应该显示我的信息:
function productInfo($product_id) {
global $conn;
if($product_id) {
$sql= "SELECT product_id,image_path, name, description, price " .
"FROM products WHERE product_id = " . $product_id; " .
$result= mysql_query($sql, $conn) or
die('Could not find product info: ' . mysql_error());
while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) {
echo "<td><img src=$image_path height=200 width=160 border=1px /></td>";
echo "<td><b><a href='"getprod.php?product=" .
$product_id['product_id'] . "'">$name</a></b><br/ >";
echo "$long_description<br/ >";
echo "$$price<br/ >";
echo "<input type='button' value='Add to Cart' onclick='addtocart'/>";
}
}
}
如有任何帮助或推动,我们将不胜感激!
当您使用list()获取$product_id
时,在while循环中,更改:
echo "<td><b><a href='"getprod.php?product=" .
$product_id['product_id'] . "'">$name</a></b><br/ >";
至
echo "<td><b><a href='"getprod.php?product=" .
$product_id . "'">$name</a></b><br/ >";
您只是从数据库表中选择"product_id"。如果要使用list()命令,您应该指定要返回的内容:
$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = " . $product_id;
此外,如果您的product_id在数据库中没有列为Integer,而是text或varchar,那么您可能需要在product_id 周围加引号
$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = '"$product_id'"";