使用switch元素更新db值

qyswt5oh  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(392)

我有一个html开关之间切换 on 以及 off :

<label class="switch">
    <input type="checkbox" id="togBtn" name="active" checked="checked">
    <div class="slider round">
        <span class="on">ON</span>
        <span class="off">OFF</span>
    </div>
</label>

你可以在这里现场查看:http://jsfiddle.net/tc4byzo8
默认选中 on 在一张表格里:

<form method="post">
    ..
    <input type="submit" name="submit" value="Submit" >
<form>

Submit 按钮,我将数据插入数据库:

//Check if submit button is clicked.
if( isset($_POST['submit']) ){

     //Insert the data into the DB.
    $stmt = $conn->prepare( /* Insert query */ );
    $stmt->execute();

}

db有一列值可以是 1 或者 0 ,因此如果选中该复选框,则该值将为 1 .
如何检查复选框是否选中以插入值 1 或者 2 ?
我添加了属性 checked="checked" ,因此它在默认情况下处于选中状态,但当我将其关闭时 checked 属性仍然存在。

relj7zay

relj7zay1#

您可以检查值并在if条件中指定它。您的代码如下所示。

if( isset($_POST['submit']) ){
  if(isset($_POST['active'])){
    $_POST['active'] = 1;
  }else{
    $_POST['active'] = 0;
  }
  //Insert the data into the DB.
  $stmt = $conn->prepare( /* Insert query */ );
  $stmt->execute();
}

如果你面临任何问题。让我知道

gab6jxml

gab6jxml2#

希望这将有助于做同样的切换。

$('input[type="checkbox"]').click(function(){ 
     if($(this).prop("checked")){ 
         $(this).val(1); 
      }else{ 
         $(this).val(0); 
     }
});
tez616oj

tez616oj3#

您可以使用php有条件地声明发布的数据,就像anshul演示的那样。
在发布表单之前,可以使用jquery修改表单,就像prakash pandey演示的那样。
如果您愿意使用一个简单的html解决方案,那么您只需添加 <input type="hidden" name="active" value=1> 在复选框行前添加 value=2 到您的复选框输入。
魔法就在共享的世界里 name 属性。隐藏的输入字段将作为默认设置,当滑块设置为off时将发布该设置(如果设置为off,复选框将不发布值)。当复选框滑块设置为“开”时,隐藏字段的值将被覆盖。

  • 请注意,我将您的问题要求解释为 1 断断续续 2 上的。

以下是我测试解决方案的完整表单:

<form method="post">
 <label class="switch">
  <input type="hidden" name="active" value=1>
  <input type="checkbox" id="togBtn" name="active" checked="checked" value=2>
  <div class="slider round">
    <span class="on">ON</span>
    <span class="off">OFF</span>
  </div>
</label>
<input type="submit" name="submit" value="Submit" >
<form>

<?php
var_export($_POST);

打开时的输出:

array ( 'active' => '2', 'submit' => 'Submit', )

关闭输出:

array ( 'active' => '1', 'submit' => 'Submit', )

相关问题