使用用户输入更新动态MySQL表的行

时间:2019-06-11 14:28:14

标签: javascript php mysql

更新:出于某些原因,php文件无法读取mysqli_query语句。

我有一个动态填充的表,该表具有一个输入框,用于输入一定数量的数量,以便将具有该数量的零件移动到其他位置。现在,我只是想使更新代码能够根据输入的金额来更新当前金额。最终,我将基于输入的数量和输入的位置添加向MySQL中插入新行的功能。

似乎正在访问update.php文件,但是在正在更新的MySQL数据库中没有运气。我不确定如何将数据发送到php文件以更新适当的行。

这是我的网页:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>




<?php

if (isset($_GET['Placeid'])){

$moveplace = $_GET['Placeid'];
$sql = "SELECT *
        FROM Parts p, Locations l
        WHERE Placeid = '$moveplace' and p.locationid = l.locationid";

$result = mysqli_query($conn, $sql);
$queryResult = mysqli_num_rows($result);

if ($queryResult > 0){

while ($row = mysqli_fetch_assoc($result)){
<form onsubmit='updatetable()'
<table  id='tablerun' class=searcht style='background-color:$bgcolor'>
    <tbody>
        <tr>
          <td id='row1' value='".$row['id']."' name='moveid' style='display:none'>".$row['id']."</td>
          <td value='".$row['PartNum']."' name='movepart'>".$row['PartNum']."</td>
          <td value='".$row['ModelNum']."' name='movemodelnum'>".$row['ModelNum']."</td>
          <td>".$row['Country']."</td>
          <td>".$row['Region']."</td>
          <td>".$row['Location']."</td>
          <td>".$row['Placeid']."</td>
          <td style='width:100px' value='".$row['UnitNum']."' name='moveunitnum'>".$row['UnitNum']."</td>
          <td id='val' style='width:50px;' value='".$row['QTY']."' name='moveqty'>".$row['QTY']."</td>
          <td value='0' type=text id='amt' name='moveamt'></td>
        </tr>
    </tbody>
</table>
</div>";

}
echo "<tr><td></td><td><input type='submit' class='submit' ></td></tr></form>";
}
}

?>

<script type="text/javascript">
function updatetable(){

  $('#tablerun tr').each(function(){
    var row_id = $(this).find("td:eq(1)").text();
    var quantity = $(this).find("td:eq(8)").text();
    var amt = $(this).find("input:eq(0)").val();

    var data = {
      id : row_id,
      qty : quantity,
      amt : amt
      };

    $.ajax({
    type:   "POST",
    url:    "update.php",
    data:   data,
    success: function() {
        $('.success').fadeIn(200).show();
        $('.error').fadeOut(200).hide();
      }
    });
  });
};

</script>

update.php:

<?php

include_once 'includes/database.inc.php';

$id = $_POST['moveid'];
$qty = $_POST['moveqty'];
$amt = $_POST['moveamt'];

  $sql = "UPDATE parts set QTY = $qty - $amt where id = $id";

  mysqli_query($conn, $sql) or die(mysqli_error($conn));


 ?>

P.S。我意识到,一旦完成此任务,我应该使用准备执行的准备好的语句。 感谢您的帮助

0 个答案:

没有答案