2015-06-19 19 views
0

我试图让选定的产品ID的图像向前移至我的结帐页面,截至目前,它传送了我在我的第一个产品图像上列出的图像主要产品页面。id不会将所选关联的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>"; 
    } 
} 
?> 

与该代码,我得到了一个空白点。图像完全不显示。我有没有做对吗?

UPDATE:

<?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,在给定的/home4/pfarley1/public_html/checkout.php上线布尔474

对于此行

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

UPDATE:

当我有这样的代码,我得到的图像显示出来,但它是我在我的数据库中的第一个产品了一遍又一遍,因为我有我的购物车中的产品的量...

<?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>"; 
?> 
+0

你确定你的查询字符串中有'view_product'吗?如果你在行前添加'echo $ _GET ['view_product'];'if($ row = mysqli_fetch_array($ result)){'(这是产生错误),你会得到什么? – EhsanT

回答

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

清除这段代码有一件事是

$row["image"] 

$row["img"] 

两者相同或不同。意味着你错过了键入或实际上两列存在于数据库中,这些列有什么价值?

+0

好的。我不知道为什么我甚至在那里有代码..它仍然无法正常工作。我改变了代码,现在而不是代码空白,我得到这个错误。我更新了我的问题。 – Becky

+0

意思是你在查询的地方有错误echo mysqli_error($ con);就在之前和之后如果条件。 – itzmukeshy7

+0

您的SQL语法错误;请检查与您的MySQL服务器版本相对应的手册,以便在第1行的''附近使用正确的语法。警告:mysqli_fetch_array()期望参数1为mysqli_result,布尔在/home4/pfarley1/public_html/checkout.php在线中给出472 ............我不确定它为什么说第一行?那里没有什么不对,除非这意味着它不能正确地从另一个页面拉东西?另一行是我在更新中发布的同一行。 – Becky