嗨,我正在尝试在SQL查询命令中标识表ID。
这是我的查询命令:
$id = $_POST['id'];
$query = " UPDATE cursos
SET status = '$checkboxstatus'
WHERE id='$id'";
所有这些代码都位于后端.php文件中,该文件从主PHP文件加载了trought Ajax命令:
这是我正在使用的 AJAX 脚本:
$(document).ready(function(e) {
$('input[name=status]').change(function(){
if( $('input[name=status]').prop('checked') )
{checkboxstatus = '1';}
else
{checkboxstatus = '0';}
$.ajax({
type: "POST",
url: "checkboxtestbackend.php",
data: {checkboxstatus: checkboxstatus},
问题是要将记录插入数据库内的右侧字段中,我必须$id在此页面上完成的 sql 转储中放入元素的 id。
while($row = mysqli_fetch_array($result))
{ $id = $row['id'];
?><?php echo "<input type='checkbox' id='$id' name='status'"; if($row['status'] == 1){print "checked='checked'"; }echo "/>";
我认为我必须发送此命令data: {checkboxstatus: checkboxstatus},
id,但是如何做到这一点? 或者如果有更好的方法让我知道
您没有发布"id"。
插入此
var id = $(this).attr('id');
在$.ajax({
之前
现在,使用这个
data: {"checkboxstatus": checkboxstatus,
"id":id
},
使用:
$(document).ready(function(e) {
$('input[name=status]').change(function(){
if ( this.checked ) {
checkboxstatus = '1';
} else {
checkboxstatus = '0';
}
$.ajax({
type: "POST",
url: "checkboxtestbackend.php",
data: {
checkboxstatus: checkboxstatus,
id: this.id
},
this
是单击的元素。
请注意,我必须更改您设置checkboxstatus
的方式。您始终获得第一个复选框的状态,而不是已更改的复选框的状态。
您也可以发布 ID
data: {checkboxstatus: checkboxstatus,id: $('input[name=status]').attr('id') },