AJAX PHP MYSQL值更新无法正常工作

时间:2016-01-25 21:25:52

标签: php jquery mysql ajax

我有一个更新mysql数据库中的计数器的脚本,但它根本不工作,我无法看到错误,因为我是php和ajax的新手:

$(function () {
        $('.press_me').click(function(){

    var button_ID= $(this).parent('tr').attr($row['ID']);
    $.post('counter.php', {button_ID: button_ID}, function(result){

          $($row['Teme_nefacute']).html(result);
        });
request.done(function( msg ) {

                                    alert('Success');
                                    return;

                              });
                              request.fail(function(jqXHR, textStatus) {
                                    alert( "Request failed: " + textStatus );
                                });
});
});

和counter.php:

    <?php
// Connection to database
  $connection=mysqli_connect("host","user","pass","db");
// Check connection
  if (mysqli_connect_errno())
    {
    echo 'NOT_OK';
    //echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

// Increasing the current value with 1
 mysqli_query($connection,"UPDATE table SET amount= (amount + 1) WHERE ID=' " . $_POST["button_ID"] ." ' ");

$get_count= mysqli_query("SELECT * FROM `table` WHERE `ID`=' " . $_POST["button_ID"] . " ' ");
$count_data= mysqli_fetch_array($new_count_data);
echo($count_data["amount"]);

  mysqli_close($connection);

  ?>

任何人都可以帮助我让它工作异步吗?

1 个答案:

答案 0 :(得分:1)

首先,PHP是一种后端技术,它在服务器中运行并将结果发送到客户端(浏览器,curl,wget等).Javascript是一种在客户端工作的前端技术。所以从那个角度来看

你的php代码应该在<?php //code ?>标签之间,它会在后端执行,然后结果将以javascript代码打印。

因此,您的视图应该是一个php文件。但它应该包含html,js和php混合。

   <script>
    $(function () {
      $('.press_me').click(function() {

        var button_ID= $(this).parent('tr').attr("<?php echo $row['ID']; ?>");
        $.post('counter.php', {button_ID: button_ID}, function(result) {

          $("<?php echo $row['Teme_nefacute']; ?>").html(result);
        });
        request.done(function(msg) {

          alert('Success');
          return;

        });
        request.fail(function(jqXHR, textStatus) {
          alert( "Request failed: " + textStatus );
        });
      });
    });
    </script>

你的PHP代码看起来不错。当你尝试这样的结果是什么时候?

已更新:

如果你的表名是table,那么请把它放在这个字符之间``就像SELECT查询一样。 table在SQL中有特殊含义。