【问题标题】:Why checkbox cannot update the database为什么复选框无法更新数据库
【发布时间】:2020-07-10 04:19:07
【问题描述】:

我使用 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());
}
?>

【问题讨论】:

  • 将您的 HTML 代码转换为最小的工作示例。另外,请检查您的代码格式。
  • 欢迎来到 Stack Overflow。我不熟悉.id()。我想你的意思是.attr("id")

标签: javascript php html jquery css


【解决方案1】:

考虑以下 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' });
     }
  });
});

【讨论】:

    猜你喜欢
    • 2014-07-09
    • 2016-05-16
    • 1970-01-01
    • 2011-11-04
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    相关资源
    最近更新 更多