解释我的问题有点困难,但我会尽量清楚。
我在php中使用mysqli数据库建立一个购物网站,我有一个"category"
和"brands"
部分。
我想要的是用户可以通过点击类别&来过滤商店中的产品。在ajax jQuery的帮助下没有页面刷新的品牌部分。
例如在类别>电子产品上,它会在网站主页上显示电子产品。
也许使用代码,它会更清晰。
这是HTML的一部分:
<div class="panel panel-info">
<div class="panel-heading">Products</div>
<div class="panel-body">
<div id="getProduct"></div>
</div>
这是&#34; action.php&#34;中的PHP代码文件:
<?php
if(isset($_POST["getSelectedCategory"])){
$cid=$_POST["categoryID"];
$sql="SELECT * FROM products WHERE productCat = '$cid' ";
$run_query=mysqli_query($con, $sql);
while($row=mysqli_fetch_arry($run_query)){
$productID = $row["productID"];
$productCat = $row["productCat"];
$productBrand = $row["productBrand"];
$productTitle = $row["productTitle"];
$productPrice = $row["productPrice"];
$productIMG = $row["productIMG"];
echo " <div class='col-md-4'>
<div class='panel panel-info'>
<div class='panel-heading'>$productTitle</div>
<div class='panel-body'>
<img src='assets/$productIMG' style='width: 160px; height: 250px;'/>
</div>
<div class='panel-heading'>$productPrice.00$
<button pid='$productID' style='float: right;' class='btn btn-danger btn-xs'>Add To Cart</button>
</div>
</div>
</div> ";
}
}
?>
这是jQuery代码:
$("body").delegate(".category","click",function (event) {
event.preventDefault();
var cid = $(this).attr("categoryID");
/*Used this alert to see if the
right category number is shown, Here it says undefined*/
alert(cid);
$.ajax({
url: "action.php",
method: "POST",
data: {getSelectedCategory: 1, categoryID: cid},
success: function (data){
$("#getProduct").html(data);
}
})
});
我似乎无法在我的代码中找到问题,如果需要额外的代码,我会提供它。我希望我的问题很明确。如果不是,我会尝试更具体。谢谢。
答案 0 :(得分:0)
您的js代码正在监听.category
类。你的PHP代码模板中没有这样的类。这就是你的echo
应该如何工作:
echo " <div class='col-md-4'>
<div class='panel panel-info'>
<div class='panel-heading'>$productTitle</div>
<div class='panel-body'>
<img src='assets/$productIMG' style='width: 160px; height: 250px;'/>
</div>
<div class='panel-heading'>
<a class='category' categoryID = '$productCat'>$productBrand</a>
$productPrice.00$
<button pid='$productID' style='float: right;' class='btn btn-danger btn-xs'>Add To Cart</button>
</div>
</div>
</div> ";
看 - 我已将<a class="category" categoryID = '$productCat'>$productBrand </a>
添加到您的面板标题中。