【发布时间】:2018-02-12 21:46:56
【问题描述】:
我目前有一个简单的复选框,当单击和取消单击时,它会将状态保存到数据库中。刷新页面时,我是否也可以加载/记住该状态?如果最后一个状态是选中的,刷新页面后它会显示为选中状态。
我不想使用本地存储。我想直接访问数据库。
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<script>
$(document).ready(function(e) {
$("[name='checkboxtest']").change(function(){
if( $("[name='checkboxtest']").prop('checked') ){checkboxstatus = '1';}
else{checkboxstatus = '0';}
$.ajax({
type: "POST",
url: "checkbox.php",
data: {checkboxstatus: checkboxstatus},
})
});//end change
});//end ready
</script>
<?php
if($row['checkboxstatus'] == 1) {
echo "<td><input type = 'checkbox' class='complete' checked='checked' name ='checkboxtest' value= '1'/></td>";
} else {
echo "<td><input type = 'checkbox' class='incomplete' name ='checkboxtest' value= '0'/></td>";
}
?>
<?php
$lock = $_POST['checkboxstatus'];
$host = "localhost";
$user = "user";
$password = "password";
$dbname = "dbname";
$conn = mysqli_connect($host,$user,$password,$dbname);
if (mysqli_connect_errno()) {echo "No connection" . mysqli_connect_error();}
$stmt = mysqli_prepare($conn, "UPDATE table
SET column = ?
WHERE row = ?");
mysqli_stmt_bind_param($stmt, 'ds', $lock, 'row');
mysqli_stmt_execute($stmt);
?>
【问题讨论】:
-
你想要的都可以。您的代码的哪一部分不起作用?
标签: javascript php jquery ajax mysqli