如何检查复选框的状态并相应地更新数据库

时间:2016-02-24 17:20:26

标签: php html5 checkbox

我正在检查用户帐户是否冻结,这是在我的数据库中,$ r是我获取用户数据的位置(名称,冻结帐户等)。

因此,如果冻结帐户设置为0,那么我显示一个未选中的框,否则显示一个复选框。它运行正常,但我的问题是,如果我选中该框以说明用户帐户已冻结,我怎么能保存它。

我知道如果在查询框中说明用户帐户是冻结的,只需调用此函数,就可以编写查询:

function updatefreezeaccount(){
mysql_query("UPDATE `users` SET `freeze_account` = 1 WHERE `user_id` = '$user_id'");
}

到目前为止,这是我的代码:

<?php
      if ($r['freeze_account'] == 0) {
          echo '<div class="example">
          <input type="checkbox" unchecked data-toggle="toggle">
          </div>';
      } 
      else {
          echo '<div class="example">
          <input type="checkbox" checked data-toggle="toggle">
          </div>';
      }
?>

我没有表格,所以我想知道如果没有表格就能做到 但是,我不知道如何检查用户是否已经选中了该框,任何建议都将不胜感激,谢谢

3 个答案:

答案 0 :(得分:1)

您需要使用javascript来执行此操作。如果您正在使用jquery,那么您可以简单地>>> re.findall(r'(?:^[^@]*@|\.)([^.]*)', s) ['sub1', 'sub2', 'sub3'] 或者您可以使用vanilla js并执行类似$(selector).on('click', function(){ Call to server side });的操作并编写一个js函数来执行服务器端调用。

答案 1 :(得分:1)

您想要使用JavaScript和框架,比如jQuery。这是前端问题,而不是后端问题。

所以这样的事情会起作用。

$('#the-checkbox').click(function() {
    if ($(this).is(':checked')) {
        $.post('to-your-form', {client_id: 'client_id', 'freeze':'1'}, function(response) {
            console.log(response);
        });
    } else {
        $.post('to-your-form', {client_id: 'client_id', 'freeze':'0'}, function(response) {
            console.log(response);
        });
    }
});

答案 2 :(得分:1)

POST也可用于从服务器获取一些数据。但是,POST方法永远不会缓存数据,并且通常用于与请求一起发送数据。

$(document).ready(function(){
    $('input[type="checkbox"]').click(function(){
        if($(this).prop("checked") == true){
            //here you need to call the page where your update query has
            var user_id = "<?php echo $user_id;?>"; //if $user id present in the same page
            $.post("your_page.php", {user_id : user_id}, function(feedback){
                  alert(feedback);// the feedback is come form the `your_page.php`, what you want to return
            });
        }
        else if($(this).prop("checked") == false){
            alert("Checkbox is unchecked.");
        }
    });
});

您还可以将user_id作为复选框的属性传递。