id不能转发所选的关联ID映像

时间:2015-06-19 15:41:36

标签: php html image

我正在尝试将所选产品ID的图片转到我的结帐页面,截至目前,它已经推出了我在主要产品页面上列出的第一个产品图片。

我将所有产品都列在这样的foreach循环中。

<?php   
// Loop to display all products
foreach($products as $id => $product) {
?>
    <div class="item">
        <div class="productpiccontainer">
            <?php echo "<img class='productpagesizedimg' src='productpics/".$product['img'] ."' alt='Product Pic'>"; ?>
        </div>      

        <p><?php echo "<a href='./viewProduct.php?view_product=$id'>" . $product['product_name'] . "</a>"; ?></p>
        <p><?php echo "$" . $product['price']; ?></p>
    </div>
<?php
}
?>

当我选择产品时,我能够获得正确的产品图像。这将我带到一个名为viewProducts.php的页面。它在这个页面上运行得很好。我正在拉这样的产品ID和图像..

<?php
$result = mysqli_query($con,"SELECT * FROM products where product_id =".$_GET['view_product']);
if($row = mysqli_fetch_array($result)) {
    $products[$row['product_id']] = $row;
    echo "<img class='sizedimg' src='productpics/".$row['img'] ."' alt='Product Pic'>";
}
?>

我注意到的一点是我在viewProducts.php页面上有这个代码..

// View Product
if(isset($_GET['view_product'])) {
    $product_id = $_GET['view_product'];

我在结帐页面上没有这个。当我尝试将上面的代码添加到我的结帐时,它会破坏所有内容。我的结帐页面中有更多的PHP代码,只需要图像部分的代码,所以我尝试用这样的图像代码包围它..

<?php

// View Product
if(isset($_GET['view_product'])) {
    $product_id = $_GET['view_product'];
    $result = mysqli_query($con,"SELECT * FROM products where product_id =".$_GET['view_product']);
    if($row = mysqli_fetch_array($result)) {
        $products[$row['product_id']] = $row;

        if($row['image'] == ""){
            echo "<img class='sizedimg' src='productpics/".$row['img'] ."' alt='Product Pic'>";
        }
        echo "<br><br><br><br>";
    }
}
?>

使用该代码,我得到一个空白点。图像根本没有显示出来。有什么我做得不对劲吗?

更新:

<?php
if(isset($_GET['view_product'])) {
    $product_id = $_GET['view_product'];
}
$result = mysqli_query($con,"SELECT * FROM products where product_id =".$_GET['view_product']);
if($row = mysqli_fetch_array($result)) {
    $products[$row['product_id']] = $row;

    echo "<img class='sizedimg' src='productpics/".$row['img'] ."' alt='Product Pic'>";

    echo "<br><br><br><br>";
}
?>

错误:

警告:mysqli_fetch_array()要求参数1为mysqli_result,第474行/home4/pfarley1/public_html/checkout.php中给出布尔值

对于这一行

if($row = mysqli_fetch_array($result)) {

更新:

当我有这样的代码时,我会看到一张图片,但这是我在数据库中的第一个产品,一遍又一遍地购买我购物车中的产品数量......

<?php
$result = mysqli_query($con,"SELECT * FROM products");
if($row = mysqli_fetch_array($result)) {
    $products[$row['product_id']] = $row;

    if($row['image'] == ""){
        echo "<img class='sizedimg' src='/productpics/".$row['img']."' alt='Product Picture'>";
    } 

}
echo "<br><br><br><br>";
?>

1 个答案:

答案 0 :(得分:0)

if($row['image'] == ""){
    echo "<img class='sizedimg' src='productpics/".$row['img'] ."' alt='Product Pic'>";
}

清除此代码中的一件事是

$row["image"]

$row["img"]

两者相同或不同。意味着您错过了键入或实际上两个列都存在于数据库中以及这些列具有什么值?