下面是我的代码,基本上它从数据库中提取信息并显示相关的股票,从这里我有一个详细信息按钮,我想用它来发送数据到另一个html页面,以显示有关产品的更多信息,添加到购物车等。
我的问题是发送此信息被认为是“最佳做法”,我应该只是制作一个从数组中获取ID并通过点击发送它的表单吗?或者是否有更有效的方式说使用jquery?
我认为最好的做法是拥有一个从按钮表单传递值的函数?
<section>
<div class="row">
<div class="col-md-12">
<div class="heading">
<h1>New Mag Wheel Arrivals</h1>
</div>
</div>
</div>
<div class="row products">
<?php while ($product = mysqli_fetch_assoc($wheelResult)) : ?>
<div class="col-md-3 col-sm-6">
<div class="product border">
<div class="image">
<a href="#"><img src=" <?= "images/wheels/wheelphotos/" . $product["bigpic"]; ?>"
alt="<?= $product["manufacturer"]; ?>" class="img-responsive img-demo"></a>
</div>
<div class="ribbon ribbon-quick-view sale">
<div class="theribbon">NEW</div>
<div class="ribbon-background"></div>
</div>
<div class="ribbon ribbon-quick-view logo">
<div class="theribbon"><img src="images/wheels/logos_small/Vs2.png"></div>
<div class="ribbon-background"></div>
</div>
<div class="text text-background">
<h4><a href="detail.php"><?= $product["diam"] . "\" " . $product['manufacturer'] ?></a></h4>
<p class="brand"><a href="#"><?= "Model " . $product["part_no"]; ?></a></p>
<button class="btn btn-default btn-sm btn-primary" href="detail.php">Details</button>
</div>
</div>
</div>
<?php endwhile; ?>
</div>
</section>
Sudo代码表单示例
EG
<form action=details.php method="GET">
<button class="btn btn-default btn-sm btn-primary" href="detail.php">Details</button>
hidden-value = $product["recid"]
</form>
答案 0 :(得分:2)
由于您需要加载一个全新的页面,因此Ajax不会在用户友好性方面带来任何重大改进。我建议你这样做,如下所示:
在产品详情页面上(在while循环中),按下这样的按钮:
<a href="detail.php?id=<?php echo $product["recid"];?>"><button class="btn btn-default btn-sm btn-primary" >Details</button></a>
在detail.php页面上,只需从$_GET
请求获取id,然后从数据库中获取产品的详细信息:
i.e. "SELECT * FROM `products` WHERE `product_id` = ?"
提示:对$_GET['id']
使用?
,因为它将包含从上一页传递的产品ID。