mysql - 更新 MySQL 表不适用于 jquery

标签 mysql jqgrid

已解决 我在页面上有重复的元素 ID。

我的更新表不起作用。我有一个对话框,可以从 jqGrid 行中选择数据, 这是代码。

    function editDialog() {
        //cek baris terpilih
        var selr = jQuery('#list1').jqGrid('getGridParam','selrow');
        if(!selr){
            alert("Harap pilih baris yang ingin di edit")
        return}
        var namapelanggan = jQuery('#list1').jqGrid('getCell', selr, 'namapelanggan');
        var alamatpelanggan = jQuery('#list1').jqGrid('getCell', selr, 'alamat');
        var telppelanggan = jQuery('#list1').jqGrid('getCell', selr, 'telepon');
    $("input#namapelanggan").val(namapelanggan);
    $("input#alamatpelanggan").val(alamatpelanggan);
    $("input#telppelanggan").val(telppelanggan);
    $( "#editDialog" ).dialog("open");
}

下面是jquery代码

$(document).ready(function () {
    $dialog = $("#editDialog")
        .dialog({
            autoOpen: false,
            position: 'center',
            hide: 'explode',
            modal: true,
            width: 'auto',
            height: 'auto',
            closeOnEscape: true,
            buttons: [{ text: "Simpan", click: function (){
                var
                xnama = $("input#namapelanggan").val();
                xalamat = $("input#alamatpelanggan").val();
                xtelp = $("input#telppelanggan").val();
            $.ajax({
            type: "POST",
            url: "/sis/modul/mod_pelanggan/upelanggan.php",
            data: {"nama":xnama,
            "alamat":xalamat,
            "telp":xtelp,
            success: function(result){
            jQuery("#list1").trigger("reloadGrid");
            },
            error: function(xhr, ajaxOptions, thrownError){
            alert('Terjadi kesalahan, Error Kode: ' + xhr.status);}
                            }
            );
        $( this ).dialog( "close" );
        }},
        { text: "Batal", click: function () { $(this).dialog("close"); } }]
    });
});

这里是用于查询更新表的upelanggan.php

<?PHP
include "../../../config/koneksi.php";
if ($_SERVER['REQUEST_METHOD'] == 'POST') { //halaman ini harus dipanggil melalui post
      $nama = $_POST["nama"];
      $alamat = $_POST["alamat"];
      $telp = $_POST["telp"];
      $sql="UPDATE tpelanggan SET namapelanggan='".$nama."' ,alamat='".$alamat."',telepon='".$telp."' WHERE idpelanggan=1 ";
      $q = mysql_query($sql);
}
?>

用户单击所选行中的“编辑”,然后打开对话框。用户更改输入值 ID namapelanggan,然后单击“Simpan”按钮保存更改。但它不起作用,表格没有更新。

最佳答案

首先检查 POST 请求是否正在运行。

您可以通过 FireBug 在“控制台”或“网络”选项卡上进行制作

您也可以通过网络服务器上的访问日志进行检查。

还在您的代码中我发现 $.ajax run 中存在错误:

  1. 奇怪的"nopolisi":xnopolisi,因为变量xnopolisi未定义。

  2. 数据字段不存在闭括号}

检查 Javascript 控制台是否有错误并修复它。

关于mysql - 更新 MySQL 表不适用于 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20868156/

相关文章:

jqgrid - 固定列标题但 jqgrid 中的可滚动数据

php - 具有高级(列)过滤的 CRUD?

javascript - free-jqGrid 搜索按钮在第二次单击时不起作用

php - 创建html表单并稍后以pdf格式打印并填充数据?

mysql - 如何使所有 mysql 警告出现 fatal error ?

php - 我应该如何本地化 PHP/MySQL 网站的界面?

javascript - 在 jqgrid 中添加两个以上的列组标题

jqgrid - 使用格式化程序时如何在 jqgrid 中以正常格式显示日期

mysql - 关于 MySQL 表上的垃圾收集/自动删除的问题

mysql - SQL 将值更新为另一个表中的值