Php 在ajax中编辑多个值

Php 在ajax中编辑多个值,php,ajax,Php,Ajax,我正在尝试使用ajax和php编辑两列。我的代码当前编辑表中的一个值(名称),并将其保存到数据库中。当我添加第二个变量(p)时我的ajax call it使用相同的值更新p列和y列。如何编辑第三个值并为其分配与y不同的值。我希望这两个不同的列在我的数据库中具有不同的值(列:名称和容量) 此代码编辑和更新两个值: <script type="text/javascript"> jQuery(document).ready(function() { $.fn.edi

我正在尝试使用ajax和php编辑两列。我的代码当前编辑表中的一个值(名称),并将其保存到数据库中。当我添加第二个变量(p)时我的ajax call it使用相同的值更新p列和y列。如何编辑第三个值并为其分配与y不同的值。我希望这两个不同的列在我的数据库中具有不同的值(列:名称和容量)

此代码编辑和更新两个值:

 <script type="text/javascript">
jQuery(document).ready(function() {  
        $.fn.editable.defaults.mode = 'popup';
        $('.xedit').editable();     
        $(document).on('click','.editable-submit',function(){
            var x = $(this).closest('td').children('span').attr('id');
            var y = $('.input-sm').val();
            var z = $(this).closest('td').children('span');
            $.ajax({
                url: "process.php?id="+x+"&data="+y,
                type: 'GET',
                success: function(s){
                    if(s == 'status'){
                    $(z).html(y);}
                    if(s == 'error') {
                    alert('Error Processing your Request!');}
                },
                error: function(e){
                    alert('Error Processing your Request!!');
                }
            });
        });
});
</script>

jQuery(文档).ready(函数(){
$.fn.editable.defaults.mode='popup';
$('.xedit').editable();
$(文档)。在('单击','上。可编辑提交',函数(){
var x=$(this.nexist('td')。children('span')。attr('id');
变量y=$('.input sm').val();
var z=$(this).closest('td')。children('span');
$.ajax({
url:“process.php?id=“+x+”&data=“+y,
键入:“GET”,
成功:功能{
如果(s==‘状态’){
$(z).html(y);}
如果(s=='错误'){
警报('处理请求时出错!');}
},
错误:函数(e){
警报('处理您的请求时出错!!');
}
});
});
});
这就是我试图编辑的三个值:

     <script type="text/javascript">
jQuery(document).ready(function() {  
        $.fn.editable.defaults.mode = 'popup';
        $('.xedit').editable();     
        $(document).on('click','.editable-submit',function(){
            var x = $(this).closest('td').children('span').attr('id');
            var y = $('.input-sm').val();
            var p = $('.input-sm').val();
            var z = $(this).closest('td').children('span');
            $.ajax({
                url: "process.php?id="+x+"&data="+y+"&capacity="+y,
                type: 'GET',
                success: function(s){
                    if(s == 'status'){
                    $(z).html(y);
                    $(z).html(p);}
                    if(s == 'error') {
                    alert('Error Processing your Request!');}
                },
                error: function(e){
                    alert('Error Processing your Request!!');
                }
            });
        });
});
</script>

jQuery(文档).ready(函数(){
$.fn.editable.defaults.mode='popup';
$('.xedit').editable();
$(文档)。在('单击','上。可编辑提交',函数(){
var x=$(this.nexist('td')。children('span')。attr('id');
变量y=$('.input sm').val();
var p=$('.input sm').val();
var z=$(this).closest('td')。children('span');
$.ajax({
url:“process.php?id=“+x+”&data=“+y+”&capacity=“+y,
键入:“GET”,
成功:功能{
如果(s==‘状态’){
$(z).html(y);
$(z).html(p);}
如果(s=='错误'){
警报('处理请求时出错!');}
},
错误:函数(e){
警报('处理您的请求时出错!!');
}
});
});
});
这是我的php文件(process.php)


您的sql查询中有错误。因为您没有传递正确的参数。
请参阅下面的代码

$id = $_GET['id'];
$data = $_GET['data'];
$capacity = $_GET['capacity'];

// Check Sql
$query = "update mytable set name='$data',capacity='$capacity' where id='$id'";
if(mysqli_query($con,$query)){

  echo "success";
} else{
    echo 'failed';
}
1) 您刚刚输入的错误:
capacity=$data
查看此行并将其更改为
capacity=$capacity

if(mysqli_query($con,"update mytable set name='$data',capacity='$capacity' where id='$id'"))
2) 最后,你的代码应该是这样的

        <?php

        include("connect.php");
        if($_GET['id'] && $_GET['capacity'] && $_GET['data'])
        {
            $id = $_GET['id'];
            $data = $_GET['data'];
            $capacity = $_GET['capacity'];
            if(mysqli_query($con,"update mytable set name='$data',capacity='$capacity' where id='$id'"))
            {

                echo "success";
            }
            else
            {
                echo 'failed';
            }

        }

        ?>

your just typo capacity=$data查看这一行并将其更改为capacity=$capacity:if(mysqli_query($con,“update mytable set name='$data',capacity='$capacity',其中id='$id'))从未见过这种if条件if($\u GET['id']、$\u GET['capacity']和$\u GET['data']))。应该是($\u GET['id']&&$\u GET['capacity']&&$\u GET['data'])@JYoThI我仍在学习。我已纠正了该错误。我仍在使用相同的数据更新两列。请查看此变量y=$('.input sm').val();var p=$('.input sm').val();var z=$(this).closest('td')。children('span');$。ajax({url:process.php?id=“+x+”&data=“+y+”&capacity=”+y、 在上面,y和p的值看起来是相同的,并且您正在创建的url是使用值
y]传递数据和容量的。因此,在服务器端,它会将相同的值更新到两列。客户端出现了一些问题。似乎
y`和
p
都指向相同的html元素,因此获得相同的值。您可以ck和seok,谢谢,我更改了这个…但是行列仍然使用相同的值更新。我这样做了:var x=$(this).closest('td').children('span').attr('id');var y=$('input sm').val();var p=$('input sm').val();var z=$(this.closest('td').children('span');url:“process php?id=“+x+”&data=“+y+“&capacity=“+p,变量y=$('.input sm').val()行中没有差异;变量p=$('.input sm').val();因此,当然y和p将具有相同的值。因为y和p指向相同的html元素并获取相同的数据。我不认为这里的问题是我的php,我认为这是ajax调用。我尝试了我能想到的所有不同的插入查询,但我仍然得到相同值的容量和名称更新。很好。中的x和y值如何ajax,它们是否保持不变。考虑到x是数据的值,y是附录URL:“process.php?id=“+x+”&data=“+y+”&capacity=“+y,为什么数据和容量的值相同y”?首先提醒x y p,知道您是否得到了正确的值?我修复了x y和z问题。我会在问题中编辑它
if(mysqli_query($con,"update mytable set name='$data',capacity='$capacity' where id='$id'"))
        <?php

        include("connect.php");
        if($_GET['id'] && $_GET['capacity'] && $_GET['data'])
        {
            $id = $_GET['id'];
            $data = $_GET['data'];
            $capacity = $_GET['capacity'];
            if(mysqli_query($con,"update mytable set name='$data',capacity='$capacity' where id='$id'"))
            {

                echo "success";
            }
            else
            {
                echo 'failed';
            }

        }

        ?>