Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用onchange下拉菜单触发的ajax获取行值?_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 如何使用onchange下拉菜单触发的ajax获取行值?

Javascript 如何使用onchange下拉菜单触发的ajax获取行值?,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我试图用onchange下拉菜单触发的ajax更新表中的一行,我成功地更新了数据,但它更新了表中的所有数据 那么,我如何才能获得唯一的值,例如:用户ID,以便将它从ajax传递到我的php,这样我就可以只更新1行 这是我的密码: my table transactions.php <table class="table table-bordered table-hover table-striped"> <thead> <tr>

我试图用onchange下拉菜单触发的ajax更新表中的一行,我成功地更新了数据,但它更新了表中的所有数据

那么,我如何才能获得唯一的值,例如:用户ID,以便将它从ajax传递到我的php,这样我就可以只更新1行

这是我的密码:

my table transactions.php

<table class="table table-bordered table-hover table-striped">
   <thead>
      <tr>
         <th>User ID</th>
         <th>Pengirim</th>
         <th>Jumlah Transfer</th>
         <th>Berita Acara</th>
         <th>Status</th>
         <th>Rincian</th>
      </tr>
   </thead>
   <tbody>
      <?php
         $query = mysqli_query($koneksi, "select * from konf_transf order by tanggal desc limit 7 ");
         while($data1 = mysqli_fetch_array($query)){
            ?>
      <tr>
         <td>
            <center><?php echo $data1['usr_id']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['nm_pengirim']; ?></center>
         </td>
         <td>
            <center>Rp. <?php echo number_format($data1['jmlh_transf'],0,'','.'); ?>,-</center>
         </td>
         <td>
            <center><?php echo $data1['berita_acara']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['status']; ?></center>
         </td>
         <td>
            <center>
               <select name="pilihstatus" id="pilihstatus" onchange="updatetransactions();">
                  <option value="Pilihan">Pilihan</option>
                  <option value="Sudah">Sudah</option>
                  <option value="Belum">Belum</option>
               </select>
            </center>
         </td>
      </tr>
      <?php } ?>
   </tbody>
</table>
我的updatestatustransaksi.php

<?php
require_once("koneksi.php");
session_start();
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You must register an account first, we will redirect you to register page !'); window.location = 'registuser.php'</script>";
}
$dataupd = $_POST["status"];
$query   = mysqli_query($koneksi, "UPDATE `konf_transf` SET `status` = '$dataupd' WHERE `id` = '$penjualan_id'");
if ($query) {
    echo "<script>alert('Update Success.'); window.location = 'transactions.php' </script>";
} else {
    echo "<script>alert('Update Failure.'); window.location = 'transactions.php' </script>";
}
  <?php
require_once("koneksi.php");
session_start();
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You must register an account first, we will redirect you to register page !'); window.location = 'registuser.php'</script>";
}
$dataupd = $_POST["status"];
$id = $_POST["id"];
$query   = mysqli_query($koneksi, "UPDATE `konf_transf` SET `status` = '$dataupd' WHERE `id` = '$id'");
if ($query) {
    echo "<script>alert('Update Success.'); window.location = 'transactions.php' </script>";
} else {
    echo "<script>alert('Update Failure.'); window.location = 'transactions.php' </script>";
}
您是否已草签$penjualan_id?我认为您需要这样初始化它:

$penjualan_id=$_SESSION['user_id']
我假设您更新了数据库中的所有行,没有WHERE条件。在脚本中,我们还可以获取数据库中该行的相应id

让我们首先为每个表行分配id:

while($data1 = mysqli_fetch_array($query)){
        ?>
  <tr id="<?=($data1['user_id'])?>">
在updatestatustransaksi.php文件中,请使用:


尝试添加要选择的数据\u id属性

<table class="table table-bordered table-hover table-striped">
   <thead>
      <tr>
         <th>User ID</th>
         <th>Pengirim</th>
         <th>Jumlah Transfer</th>
         <th>Berita Acara</th>
         <th>Status</th>
         <th>Rincian</th>
      </tr>
   </thead>
   <tbody>
      <?php
         $query = mysqli_query($koneksi, "select * from konf_transf order by tanggal desc limit 7 ");
         while($data1 = mysqli_fetch_array($query)){
            ?>
      <tr>
         <td>
            <center><?php echo $data1['usr_id']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['nm_pengirim']; ?></center>
         </td>
         <td>
            <center>Rp. <?php echo number_format($data1['jmlh_transf'],0,'','.'); ?>,-</center>
         </td>
         <td>
            <center><?php echo $data1['berita_acara']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['status']; ?></center>
         </td>
         <td>
            <center>
               <select name="pilihstatus" id="pilihstatus" onchange="updatetransactions();" data_id='<?php echo $data1['usr_id']; ?>'>
                  <option value="Pilihan">Pilihan</option>
                  <option value="Sudah">Sudah</option>
                  <option value="Belum">Belum</option>
               </select>
            </center>
         </td>
      </tr>
      <?php } ?>
   </tbody>
</table>
在您的updatestatustransaksi.php

<?php
require_once("koneksi.php");
session_start();
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You must register an account first, we will redirect you to register page !'); window.location = 'registuser.php'</script>";
}
$dataupd = $_POST["status"];
$query   = mysqli_query($koneksi, "UPDATE `konf_transf` SET `status` = '$dataupd' WHERE `id` = '$penjualan_id'");
if ($query) {
    echo "<script>alert('Update Success.'); window.location = 'transactions.php' </script>";
} else {
    echo "<script>alert('Update Failure.'); window.location = 'transactions.php' </script>";
}
  <?php
require_once("koneksi.php");
session_start();
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You must register an account first, we will redirect you to register page !'); window.location = 'registuser.php'</script>";
}
$dataupd = $_POST["status"];
$id = $_POST["id"];
$query   = mysqli_query($koneksi, "UPDATE `konf_transf` SET `status` = '$dataupd' WHERE `id` = '$id'");
if ($query) {
    echo "<script>alert('Update Success.'); window.location = 'transactions.php' </script>";
} else {
    echo "<script>alert('Update Failure.'); window.location = 'transactions.php' </script>";
}

您必须包括updatestatustransaksi.phpfile@LoganWayneupdateddatabase未更新,但我仍收到警报成功更新mysql数据库,我在控制台中检查post,它成功传递参数id和status,但id和status的值正确吗?抱歉2我没有检查查询,我更新了查询,其工作更新了数据,thx Mr Logan Waynei在这里和控制台I中写入时发生了变化。获取类型错误:elem.nodeName未定义,我使用这个jquery代码。jquery.com/jquery-1.9.1.js>
<table class="table table-bordered table-hover table-striped">
   <thead>
      <tr>
         <th>User ID</th>
         <th>Pengirim</th>
         <th>Jumlah Transfer</th>
         <th>Berita Acara</th>
         <th>Status</th>
         <th>Rincian</th>
      </tr>
   </thead>
   <tbody>
      <?php
         $query = mysqli_query($koneksi, "select * from konf_transf order by tanggal desc limit 7 ");
         while($data1 = mysqli_fetch_array($query)){
            ?>
      <tr>
         <td>
            <center><?php echo $data1['usr_id']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['nm_pengirim']; ?></center>
         </td>
         <td>
            <center>Rp. <?php echo number_format($data1['jmlh_transf'],0,'','.'); ?>,-</center>
         </td>
         <td>
            <center><?php echo $data1['berita_acara']; ?></center>
         </td>
         <td>
            <center><?php echo $data1['status']; ?></center>
         </td>
         <td>
            <center>
               <select name="pilihstatus" id="pilihstatus" onchange="updatetransactions();" data_id='<?php echo $data1['usr_id']; ?>'>
                  <option value="Pilihan">Pilihan</option>
                  <option value="Sudah">Sudah</option>
                  <option value="Belum">Belum</option>
               </select>
            </center>
         </td>
      </tr>
      <?php } ?>
   </tbody>
</table>
function updatetransactions(){
  var status = $('select option:selected').text();
  var status = $('select').attr('data_id');
  var id = $('select option:selected').val();  
$.ajax({
            type:"post",
            url:"updatestatustransaksi.php",
            data:{'status'=status,'id'=id}
            success:function(data){
                alert('Successfully updated mysql database');
            }
        });
    }
  <?php
require_once("koneksi.php");
session_start();
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You must register an account first, we will redirect you to register page !'); window.location = 'registuser.php'</script>";
}
$dataupd = $_POST["status"];
$id = $_POST["id"];
$query   = mysqli_query($koneksi, "UPDATE `konf_transf` SET `status` = '$dataupd' WHERE `id` = '$id'");
if ($query) {
    echo "<script>alert('Update Success.'); window.location = 'transactions.php' </script>";
} else {
    echo "<script>alert('Update Failure.'); window.location = 'transactions.php' </script>";
}