我有一个显示多个图像的页面,例如,点击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
}
?>
答案 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'];
?>