在我的某个页面中,我有一个<a>
标记。当我单击它时,我将变量作为GET
参数传递并在同一页面中检索并显示详细信息。
获取参数的代码:
if(isset($_GET['CatId']))
{
$CatId= $_GET['CatId'];
}
else $CatId=0;
if(isset($_GET['MainProductId']))
{
$MainProductId= $_GET['MainProductId'];
$FilterAllProductQuery ="WHERE Product.MainProductId = '$MainProductId'";
$FilterProductQuery = "AND Product.MainProductId = '$MainProductId'";
}
else
{
$MainProductId=0;
$FilterAllProductQuery="";
$FilterProductQuery="";
}
<a>
代码:
<a href='Products.php?CatId=<?php echo $CatId;?>&MainProductId=<?php echo $id;?>' ><?php echo $row["MainProdName"] ?></a>
要显示的详细信息:
if($CatId == 0)
{$sql = "SELECT *,Product.Id AS ProdId, Product.Name as ProdName FROM Product $FilterAllProductQuery ";}
else
{$sql = "SELECT * ,Product.Id AS ProdId, Product.Name as ProdName FROM Product INNER JOIN MainProduct ON MainProduct.Id = Product.MainProductId
INNER JOIN Category ON Category.Id = MainProduct.CategoryId WHERE Category.Id = '$CatId' $FilterProductQuery ";}
$result1 = $dbcon->query($sql);
if ($result1->num_rows > 0) {
while ($row = $result1->fetch_assoc()) {
$id = $row["ProdId"];
// $image=$row["ImagePath1"];
$qty = $row["Quantity"];
?>
<li class="col-lg-4">
<div class="product-box">
<span class="sale_tag"></span>
<div class="row">
<img src='themes/images/<?php echo $row["ImagePath1"]; ?>' height='200' width='250'> </a></div></div></li>
现在代码工作正常,但是当我点击<a>
标签时,当我传递get参数时,页面正在刷新。由于所有代码都在同一页面上,我不希望刷新页面。为此,我需要使用 Ajax 请求。我怎么能这样做?
答案 0 :(得分:0)
我会像这样在一个标签上创建一个onclick()事件:
<?php echo '<a c_id="'.$CatId.'" MainProductId="'.$id.'" onclick="sendProduct()">'.$row["MainProdName"].'</a>';
之后我会在.js文件中编写一个名为sendProduct()的简单函数,在里面我会对名为ex:insertproduct.php的页面执行ajax请求,获取信息并且Insertproduct.php将处理数据和您可以使用.html()或.append()将数据分配给显示具有正常ID的数据的div。
c_id,MainProductId是您可以在.js文件中收到的自定义属性$(“#youraTag”)。attr(“c_id”);
这里有一个关于基本ajax的非常好的指南:https://www.youtube.com/watch?v=_XBeGcczFJo&list=PLQj6bHfDUS-b5EXUbHVQ21N_2Vli39w0k&index=3&t=1023s
答案 1 :(得分:0)
首先,您必须删除链接的href并为其指定ID。
<a id='link'>
<?php echo $row["MainProdName"] ?>
</a>
然后你把这个jQuery放到你的页面中。请注意,您需要有一个div,您将在其中输入所有获得的结果。我在代码中将此div称为#mydiv
。
$("#link").click(function(){
$("#mydiv").load("Products.php?CatId=<?php echo $CatId;?>&MainProductId=<?php echo $id;?>");
});