[英]Why checkbox cannot update the database
我使用 PHP 來回顯數據庫中的值並且它的工作。 然后,當我想將“publicAccess”更改為“privateAccess”或“privateAccess”更改為“publicAccess”時,就會出現問題。 為什么不能發布值來更新我的數據庫?
這是我的輸入。
<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
<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>
隱私 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());
}
?>
考慮以下 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>
然后考慮下面的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.