[英]Why checkbox cannot update the database
I use PHP to echo the value from the database and it's work.我使用 PHP 来回显数据库中的值并且它的工作。 Then the problem occurs when I want to change "publicAccess" to "privateAccess" or "privateAccess" to "publicAccess".然后,当我想将“publicAccess”更改为“privateAccess”或“privateAccess”更改为“publicAccess”时,就会出现问题。 Why cannot post the value to update my database?为什么不能发布值来更新我的数据库?
This is my input.这是我的输入。
<label>
<input type="hidden" value="<?php echo $row['id']; ?>" />
<input type="checkbox" id="privacy" name="privacy" value="<?php echo $row['privacy']; ?>"
<?php
if($row["privacy"]=='publicAccess')
{
echo "checked";
}
?>
>
<span class="lever"></span>
<span class="text">Private</span>
</label>
js js
<script type="text/javascript">
$(document).ready(function() {
$("#privacy").click(function() {
var id = $(this).id();
if ($(this).is(":checked")) {
$.ajax({
type: "POST",
url: "privacy.php",
data: { id: id, apply: "publicAccess" }
});
} else {
$.ajax({
type: "POST",
url: "privacy.php",
data: { id: id, apply: "privateAccess" }
});
}
});
});
</script>
privacy php隐私 php
<?php
include_once ("db.php");
if ($_POST['apply'] == 'publicAccess')
{
$id = $_POST['id'];
mysqli_query("update journal set privacy='publicAccess' where id='$id'") or die(mysqli_error());
}
else
{
$id = $_POST['id'];
mysqli_query("update journal set privacy='privateAccess' where id='$id'") or die(mysqli_error());
}
?>
Consider the following PHP/HTML.考虑以下 PHP/HTML。
<?php
echo "<input type='hidden' value='{$row['id']}' />\r\n";
echo "<input type='checkbox' name='privacy' class='private' value='{$row['privacy']}' " . ($row['privacy']=="publicAccess" ? "checked" : "") . "/>\r\n";
?>
<span class="lever"></span>
<span class="text">Private</span>
Then consider the following JavaScript.然后考虑下面的JavaScript。
$(function(){
$("input.private").change(function(){
var id = $(this).prev("input").val();
if($(this).is(':checked')){
$.post("privacy.php", { id: id, apply: 'publicAccess' });
} else {
$.post("privacy.php", { id: id, apply: 'privateAccess' });
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.