根据输入更改更新数据库-jQuery

时间:2018-07-25 08:48:50

标签: php jquery ajax

我尝试过这里各种问题的答案,也尝试过google上的示例,但是似乎都无法确定我在做什么错。

我有以下代码

<form>
<input type="text" id="regoffice_1" value="<?php echo $result['regoffice_1'];?>">
<input type="hidden" name="companyid" value="1">
</form>
<script>
$("#regoffice_1").on("change", function() {
  var itemVal = $("#regoffice_1").val();
  var dataObj = {companyid: $("#companyid").val(), regoffice_1: $("#regoffice_1").val()};

  processChange(dataObj);
});

function processChange(dataObj){

  $.ajax({
    type: "POST",
    url: "inc/dataforms/test.php",
    data: dataObj,
    dataType: "text", // If you expect a json as a response
    complete: function(data) {
      var Resp = data.responseText;
      console.log(Resp);
    }
  });
};
</script>

在PHP文件中只是一个简单的查询

<?php
include('../config.php');
mysqli_query($dbc,"UPDATE `comp_companies`  SET `regoffice_1` = '$_POST[regoffice_1]' WHERE `company_id` = '$_POST[companyid]'");
?>

很好,很简单。但是我没有显示任何错误,也没有显示任何内容,也没有数据被更新

我想念什么??

2 个答案:

答案 0 :(得分:2)

您必须在输入中添加一个id:

<input id="companyid" type="hidden" name="companyid" value="1">
_______^^^^^^^^^^^^^^

由于您是通过ID选择的:

{companyid: $("#companyid").val(), regoffice_1: $("#regoffice_1").val()};
_____________^^^^^^^^^^^^^^

否则,您可以使用名称选择器,例如:

{companyid:  $('input[name="companyid"]').val(), regoffice_1: $("#regoffice_1").val()};

注意:您需要在$_POST[]中添加引号:

mysqli_query($dbc,"UPDATE comp_companies  SET regoffice_1 = '".$_POST["regoffice_1"]."' WHERE company_id = '".$_POST["companyid"]."'");

答案 1 :(得分:0)

在@Zakaria回答之后,您还使用

server {
        listen 80;
        listen [::]:80;

        server_name roostr.online www.roostr.online;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://127.0.0.1:5000/;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                proxy_redirect off;
                proxy_set_header   X-Forwarded-Proto $scheme;

        }

        location ~ ^/(images/|img/|javascript/|html/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
                 root /var/www/roostr.online/html/public;
                access_log off;
                expires max;
        }
    }

在您的UPDATE中。您错过了$ _POST ['key']上的引号,因为它是一个关联数组

...'$_POST[regoffice_1]' and '$_POST[companyid]'