单击时根据产品显示页面

时间:2017-07-24 03:41:07

标签: php mysqli

我有一个显示多个图像的页面,例如,点击milo图像然后它会显示一个页面,其中显示了所有的milo图像,但是当我点击其他页面时,例如,茶,它也显示图像米洛我需要在点击的图像上显示页面

        <?php  
    $query = "SELECT * FROM tbl_product ORDER BY id ASC"; //order by ID ascending order  
    $result = mysqli_query($connect, $query);  
    while($row = mysqli_fetch_array($result))  
    {  
    ?>
<div id="products" class="productsContainer">
    <div class="responsive">   <!-- OUTER BOX OF PRODUCT -->
        <div class="gallery"> <!-- INNER BOX FOR PRODUCT -->
                <a href="box.php"><img src="images/<?php echo $row["image"]; ?>" class="img-responsive" /></a><br /> <!-- IMAGE OF PRODUCTS -->
                <h4 class="text-info"><?php echo $row["name"]; ?></h4>  <!-- NAME OF PRODUCT -->
                <h4 class="text-danger">$ <?php echo $row["price"]; ?></h4>  <!-- PRODUCT PRICE -->
                <input type="text" name="quantity" id="quantity<?php echo $row["id"]; ?>" class="form-control" value="1" />  <!-- QUANTITY PRODUCT -->
                <input type="hidden" name="hidden_name" id="name<?php echo $row["id"]; ?>" value="<?php echo $row["name"]; ?>" />  <!-- NOT SHOWN -->
                <input type="hidden" name="hidden_price" id="price<?php echo $row["id"]; ?>" value="<?php echo $row["price"]; ?>" />  <!-- NOT SHOWN -->
                <input type="button" name="add_to_cart" id="<?php echo $row["id"]; ?>" style="margin-top:5px;" class="btn btn-warning form-control add_to_cart" value="Add to Cart" />  <!-- ADD TO CART BUTTON -->

        </div>  
    </div> 
</div>
    <?php  
        }  
    ?>

2 个答案:

答案 0 :(得分:1)

我不知道您知道多少Ajax / Javascript,但在这种情况下,您可以使用这些行中的某些内容来显示您想要根据其ID查看的图像,因为用户点击了图片{{ 1}}通过ajax返回值返回值:

WHERE id = ?

代码的逻辑解释:

用户加载页面并显示所有产品&gt;他看到了他喜欢的产品&gt;点击它(<script> function getProduct(val) { $.ajax({ type: "POST", url: "box.php", data:'id='+val, success: function(data){ $("#product-echo").html(data); } }); } </script> <?php $query = "SELECT * FROM tbl_product ORDER BY id ASC"; //order by ID ascending order $result = mysqli_query($connect, $query); while($row = mysqli_fetch_array($result)) { ?> <div id="products" class="productsContainer"> <div class="responsive"> <!-- OUTER BOX OF PRODUCT --> <div class="gallery"> <!-- INNER BOX FOR PRODUCT --> <a href="javascript:void(0)" onclick="getProduct('<?php echo $row['id']; ?>')"><img src="images/<?php echo $row["image"]; ?>" class="img-responsive" /></a><br /> <!-- IMAGE OF PRODUCTS --> <h4 class="text-info"><?php echo $row["name"]; ?></h4> <!-- NAME OF PRODUCT --> <h4 class="text-danger">$ <?php echo $row["price"]; ?></h4> <!-- PRODUCT PRICE --> <input type="text" name="quantity" id="quantity<?php echo $row["id"]; ?>" class="form-control" value="1" /> <!-- QUANTITY PRODUCT --> <input type="hidden" name="hidden_name" id="name<?php echo $row["id"]; ?>" value="<?php echo $row["name"]; ?>" /> <!-- NOT SHOWN --> <input type="hidden" name="hidden_price" id="price<?php echo $row["id"]; ?>" value="<?php echo $row["price"]; ?>" /> <!-- NOT SHOWN --> <input type="button" name="add_to_cart" id="<?php echo $row["id"]; ?>" style="margin-top:5px;" class="btn btn-warning form-control add_to_cart" value="Add to Cart" /> <!-- ADD TO CART BUTTON --> </div> </div> </div> <?php } ?> <div id="product-echo"></div> )&gt;使用需要一个参数的Ajax调用<a href="javascript:void(0)" onclick="getProduct('<?php echo $row['id']; ?>')"> - getProduct()(在这种情况下== id)&gt;结果回到val div。

这导致我们#product-echo我们只是运行查询来检查box.php ID已经提交,然后ID等于,最后给我们一个结果。

if

现在,这很简单,我建议花一点时间来处理<?php if (isset($_POST['id'])) { $id = $_POST['id']; $query = "SELECT * FROM tb1_product WHERE id = " . $id; $result = mysqli_query($connect, $query); while($row = mysqli_fetch_array($result)) { // layout content as your heart so desires... } } ?> 方面的调用,但是你应该很好地了解如何完成工作。

如果您对使用Ajax调用感到不舒服,可以随时将用户发送到box.php并让产品元素出现。

答案 1 :(得分:0)

将产品ID传入box.php(我相信box.php包含图片详情或产品详情的代码)

例如:<a href="box.php?id=".$row['id']><img src="images/<?php echo $row["image"]; ?>" class="img-responsive" /></a><br />

在php中使用获取id变量

box.php

<?php 
  $id = $_GET['id'];

?>