为了账号安全,请及时绑定邮箱和手机立即绑定

如果链接包含此条件,则阻止打开

如果链接包含此条件,则阻止打开

跃然一笑 2023-10-30 15:11:01
抱歉这个问题,我认为这并不困难,但我是 PHP 新手,我尝试通过链接显示一些产品图像,如果该项目可用$row['p_status']=='1'好的,链接将被打开,否则它会显示一个警报,但我尝试在 while 循环内编写一些代码,但是当我测试它时,它会根据这些项目的数量显示许多警报,如果我是 $row['p_status']=='0'有 5 个产品,如果我点击一个产品,它会显示五个警报,但它不可用。请帮助我,这是我的代码。<?php     $query = "SELECT * FROM products";    $result = mysqli_query($conn,$query);                       while ($row = mysqli_fetch_assoc($result)) { ?>    <div class="column">            <img src="<?=get_image($row['image']);?>">             <span>Add to Your Cart </span>            <a href="mycart.php?add=<?=$row['product_id'];?>" id="a">            <?php            if ($row['pro_status']=='0') {                # the link above not open but, how to do with code?            }            ?>    </div><?php } ?>
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您需要一个 if 语句来检查状态是否为 1。如果是 1,您将显示带有 href 的链接,否则您将调用 onclick 事件来显示缺货警报。


这是解决方案之一(对于初学者来说更容易):


<?php 

    $query = "SELECT * FROM products";

    $result = mysqli_query($conn,$query);                   

    while ($row = mysqli_fetch_assoc($result)) {

 ?>

    <div class="column">

            <img src="<?=get_image($row['image']);?>">

            <?php if($row['pro_status'] == 1) { ?>

            <a href="mycart.php?add=<?=$row['product_id'];?>">

              Add to Your Cart 

            </a>

            <?php } else { ?>

            <button onclick="return alert('Out of stock!')">Add to cart</a>

            <?php } ?>

    </div>

<?php 

}

 ?>


查看完整回答
反对 回复 2023-10-30
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

只需要让点击事件返回 false 即可。


以下应该这样做:


if ($row['pro_status']=='0') {

    $("#a").click(function(){

        return false;

    });

}

另一个解决方案是使用 PreventDefault()


if ($row['pro_status']=='0') {

    $("#a").click(function(e){

        e.preventDefault();

    });

}


查看完整回答
反对 回复 2023-10-30
  • 2 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信