首页 > 解决方案 > 使用 ajax php 和 mysql 增加数字

问题描述

我需要它适合,然后单击一个文件将数字增加到 1 并保存在数据库中

我已经创建了数据库并准备好了部分 AJAX 代码,除了数字 YA INCREMENTA 之外,问题是我手动更新了页面,而不是只更新 div

要更新的号码

<span id="'.$rowRE[id_reclamo].'" class="badge badge-primary badge-pill like">'.$rowRE[positivo].'</span>

ajax函数

  $(document).ready(function () {
    $('.like').on('click', function () {
        var reclamoID = $(this).attr('id');
        if (reclamoID) {
            $.ajax({
                type: 'POST'
                , url: 'like.php'
                , data: 'reclamo_id=' + reclamoID
                , success: function () {}
            });
        }
        else {
            alert("error");
        }
    });
});

php代码

  $reclamoID=$_POST['reclamo_id'];
$query = $db->query("UPDATE reclamos SET positivo = positivo +1 WHERE id_reclamo = $reclamoID");

//统计总行数 $rowCountTabla = $query->num_rows;

我需要你不要给整个页面充值,如果不是只有数字的话

标签: phpjquerymysqlajaxincrement

解决方案


在您发布数据时发出的同一请求中返回计数。类似于以下内容:

PHP:

$reclamoID = pg_escape_string($_POST['reclamo_id']);

$results = $db->query("SELECT positivo FROM reclamos WHERE id_reclamo = '".$reclamoID."'");
// Whatever DB wrapper you're using here... this is just a guess.
$count = $results[0]['positivo'];

echo json_encode(array(
  'id' => $reclamoID,
  'count' => $count
));

Javascript:

$('.like').on('click', function () {
  var element = $(this);
  var reclamoID = element.attr('id');
  if (reclamoID) {
    $.post(
      'like.php',
      {
        reclamo_id: reclamoID
      },
      function (responseData) {
        element.text(responseData.count);
      },
      'json'
    );
  }
});

始终清理发布的数据,以防止注入和其他恶意代码。


推荐阅读