我是一名初级程序员,需要小型项目网站的帮助。
我创建了一个商店并将一些产品存储在mysql数据库中。我使用foreach循环遍历数据并将每个相关内容打印成样式的Div。在foreach循环之前将数据添加到新数组中。
$sql = "SELECT name, description, price, image FROM shop";
$result = $DBConn->query($sql);
$data = array();
while($row = $result->fetch_assoc()) {
$data[] = $row;
foreach($data as $v){
?>
<div class="innerbox">
<div class="imagebox"><img src="<?php echo $v['image'];?>" /></div>
div class="namebox"><?php echo $v["name"];?></div>
<div class="pricebox">£<?php echo $v["price"];?></div>
</div>
<?php
}
?>
使用onClick功能我可以这样做,当用户在div中点击时,它会将它们引导到产品页面。这就是我被困的地方,如何让页面知道用户点击了什么产品,只提取用户点击过的产品详细信息?
我认为它需要是某种循环来检查用户使用javascript点击的div中包含的ID是什么?
抱歉格式不佳,而不是新的。
编辑**
<div id="productimage">
<div class="productinner"><img src="<?php echo $v['image'];?>" /></div>
</div>
<div id="productdescription"><?php echo $v["description"];?></div>
<div id="videobox"><?php echo $v["price"];?></div>
<?php
我是否需要在产品页面上显示此代码?或?
$sql = "SELECT name, description, price, image FROM shop";
$result = $DBConn->query($sql);
$data = array();
while($row = $result->fetch_assoc()) {
$data[] = $row; // Adds each row to a new array
}
答案 0 :(得分:1)
您可以在div上设置data-id属性:
<div class="innerbox" data-id="<?php echo $v['id']; ?>">
<div class="imagebox"><img src="<?php echo $v['image'];?>" /></div>
div class="namebox"><?php echo $v["name"];?></div>
<div class="pricebox">£<?php echo $v["price"];?></div>
</div>
使用jQuery可以轻松获取数据:
$('.innerbox').click(function() {
window.location.href = "product.php?id=" + $(this).data('id');
});
在php中,您可以使用$_GET['id']
$sql = "SELECT name, description, price, image FROM shop WHERE id = " . intval($_GET['id']);