Javascript 我想在我的页面上统计优惠券的使用情况。但每当我刷新页面时,它都会不断更新

Javascript 我想在我的页面上统计优惠券的使用情况。但每当我刷新页面时,它都会不断更新,javascript,php,jquery,web,Javascript,Php,Jquery,Web,这是我用来更新优惠券数量的代码。 <div id="click" class="coupon-detail coupon-button-type"> <a href="#" class="coupon-button coupon-code" data-aff-url="https://example.com"> <span class="code-text">CODE</s

这是我用来更新优惠券数量的代码。

 <div id="click" class="coupon-detail coupon-button-type">
                    <a  href="#" class="coupon-button coupon-code" data-aff-url="https://example.com">
                   <span class="code-text">CODE</span>
                  <span class="get-code">Get Code</span>
                    </a>
                   <div class="clear"></div>
                   </div>
                         <div class="clear"></div>
            <div class="coupon-footer coupon-listing-footer">
            <ul class="clearfix">
               <script type="text/javascript">
               $(document).ready(function(e) {
              $('#click').click(function(){
     <?php 
                   $update = "UPDATE coupon_stats SET today = today + 1";
                   $query_coupon = mysqli_query($con , $update)or die(mysqli_error($con));
                ?>
                     })
                    });
         </script>

          <?php
        $select = "SELECT * FROM coupon_stats";
        $query_select = mysqli_query($con,$select);
        $data = mysqli_fetch_assoc($query_select);
        ?>
        <li><span><i class="wifi icon">  </i> <?php echo $data['today'].' Coupon Used'; ?>
        </span>
        </li>

    $(文档).ready(函数(e){ $('#click')。单击(函数(){ }) });
但是,每当我刷新页面而不是点击按钮时,我的优惠券数量就会得到+1。 我不明白。我做错了什么?
有人能帮我解决这个问题吗?

这应该可以满足您的需要

我们在ajax请求中设置了data:1,因此当页面加载process_request.php文件上的
if(isset($\u POST['data]))
时,可以执行检查

<div id="click" class="coupon-detail coupon-button-type">
    <a  href="#" class="coupon-button coupon-code" data-aff-url="https://example.com">
        <span class="code-text">CODE</span>
        <span class="get-code">Get Code</span>
    </a>
    <div class="clear"></div>
</div>
<div class="clear"></div>
<div class="coupon-footer coupon-listing-footer">
    <ul class="clearfix">
    <?php

        $select = "SELECT * FROM coupon_stats";
        $query_select = mysqli_query($con,$select);
        $data = mysqli_fetch_assoc($query_select);
    ?>
    <li>
        <span>
            <i class="wifi icon"></i> <?php echo $data['today'].' Coupon Used'; ?>
        </span>
    </li>

<script>



    $(document).ready(function(e) {
        $('#click').click(function(){
            $.ajax({
                url : "process_request.php",
                type: "POST",
                data: {data: 1},
                success: function(data, textStatus, jqXHR)
                {
                    //data - response from server
                },
                error: function (jqXHR, textStatus, errorThrown)
                {

                }
            });
        })
    });

</script>

  • $(文档).ready(函数(e){ $('#click')。单击(函数(){ $.ajax({ url:“process_request.php”, 类型:“POST”, 数据:{data:1}, 成功:函数(数据、文本状态、jqXHR) { //数据-来自服务器的响应 }, 错误:函数(jqXHR、textStatus、errorshown) { } }); }) });
进程中_request.php

<?php 
    //Add db connection details
    if(isset($_POST['data'])){
        $update = "UPDATE coupon_stats SET today = today + 1";
        $query_coupon = mysqli_query($con , $update)or die(mysqli_error($con));
    }
?>


您可以更进一步,从process_request.php添加一个响应,然后在AJAX的成功函数中处理该响应。

我认为您根本误解了服务器端代码和客户端代码之间的区别:
$update=“update coupon_stats SET today=today+1”$查询优惠券=mysqli\u查询($con,$update)或死亡(mysqli\u错误($con))使用AJAX向PHP文件发送请求,并在那里进行更新。@BarryThomas。我试过了。不过,有些东西还是不起作用。我将php代码放在另一个文件中,并在优惠券页面中使用ajax方法调用该文件。但优惠券的使用并没有随着点击而增加。@BarryThomas。我的问题是我以前从未使用过ajax。谢谢,先生:)。但是我的代码有点问题。我的优惠券使用情况没有被更新。好的-好的,一点调试应该会解决这个问题。Echo$\u在process\u request.php上发布['data'],以确保它不是空的。如果是,那么这就是问题所在;如果不是,那么在Process_request上的sql查询有问题。phpI将在明天早上向您发送代码。这样您就可以看到问题所在。