gpt4 book ai didi

javascript - 选择框 onchange 时更新 mysql 表中的值

转载 作者:行者123 更新时间:2023-11-30 21:30:17 25 4
gpt4 key购买 nike

我有一个 html 表,其中包含我的 mysql 数据库表中的值。客户要求对我的 html 表中的数据进行前端编辑。所以我在点击时将td转换为选择框,用户将在其中选择X和O备注。

这是我的脚本:

 $(document).on('click', 'td', function() { ////---make td transform to dropdown list box when click---///
if($(this).find('select').length == 0) {
$(this).empty(); //clears out current text in the table
$(this).append('<select onchange="myFunction()" id="Remarks" name="Remarks"><option value=""></option><option <?php if ($Remarks=='X') echo 'selected';?> value="X" style="font-size:20px;font-weight:bold;">X<option style="font-size:20px;color:green;font-weight:bold;" <?php if ($Remarks=='O') echo 'selected';?> value="O">O</select>');
}
});


$(document).on('focusout', 'td select', function(){
var myValue = $(this).val();
var $parent = $(this).parent();
$(this).remove();
$parent.append(myValue);
});

我需要的是根据用户从选择框中选择的内容更新 td 的值。

这是我尝试过的:对选择框进行更改

function myFunction(){
var emp_name = document.getElementById('employeeName').value;
var r = document.getElementById('Remarks').value;
$.ajax({
type: 'post',
url: 'update_data.php',
data: {
'employeeName' :emp_name,
'DAY1' : r
},
success: function(data){
$("#content").html(data)
$(".loader").fadeOut("veryslow");
$("#content").hide().fadeIn(500)
//alert(r);
//alert(emp_name);
},
error:function(data){
alert('Failed');
}
})

};

这是我的 update_data.php :

<?php
$employeeName = $_REQUEST["employeeName"];
$Remarks = $_REQUEST["Remarks"];
//$id = $_REQUEST["id"];

try {
$pdo = new PDO('mysql:host=localhost:***;dbname=******;', '*****', '*****' );
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$pdo->query( 'SET NAMES UTF8' );
$stmt = $pdo->prepare(
"UPDATE `mbwa`
SET
`DAY1` = :Remarks
WHERE
`employeeName` = :employeeName
"
);
$stmt->bindValue(':employeeName',$employeeName,PDO::PARAM_STR);
$stmt->bindValue(':Remarks',$Remarks,PDO::PARAM_STR);
//$stmt->bindValue(':id',$id,PDO::PARAM_STR);
$stmt->execute();
header('location:./');
} catch ( PDOException $e ) {
var_dump( $e->getMessage() );
}

$pdo = null;
?>

它更新了数据库,但它在我更改的 td 值中给出了一个空值。我认为它在我的更新查询中没有获得 ':Remarks' 的值。

有什么帮助吗?

最佳答案

检查$_REQUEST["Remarks"];应该是$_REQUEST["DAY1"];

因为你的 data 在 Ajax 中是这样发送的:

data: {
'employeeName' :emp_name,
'DAY1' : r
},

因此,在 PHP 中,您必须将其更改为:

$employeeName = $_REQUEST["employeeName"];
$Remarks = $_REQUEST["DAY1"];

关于javascript - 选择框 onchange 时更新 mysql 表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56592312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com