Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用复选框更新MySql表_Php_Mysql_Checkbox - Fatal编程技术网

Php 使用复选框更新MySql表

Php 使用复选框更新MySql表,php,mysql,checkbox,Php,Mysql,Checkbox,关于这件事,我已经在互联网上搜索了好几天了,但我一直遇到困难 我所拥有的是一个管理区域内的一个充满复选框的表格,作为每月的“待办事项”列表。它本质上是一个工作表,每个月有30件左右的事情要做,每个月都要核对,如果适用的话还要加上注释 我已经设法通过mysql更新了复选框,并在某处显示为勾号列表。我只是将值设置为1,然后在提交时更新sql表 我必须在这里说明我的基本情况,如果错误地勾选了项目,我还提供取消勾选项目的选项。但我不知道这是怎么做到的 下面是我的检查代码。。。在这件事上有任何帮助都会很好

关于这件事,我已经在互联网上搜索了好几天了,但我一直遇到困难

我所拥有的是一个管理区域内的一个充满复选框的表格,作为每月的“待办事项”列表。它本质上是一个工作表,每个月有30件左右的事情要做,每个月都要核对,如果适用的话还要加上注释

我已经设法通过mysql更新了复选框,并在某处显示为勾号列表。我只是将值设置为1,然后在提交时更新sql表

我必须在这里说明我的基本情况,如果错误地勾选了项目,我还提供取消勾选项目的选项。但我不知道这是怎么做到的

下面是我的检查代码。。。在这件事上有任何帮助都会很好

    <?php   
$currentTask = '';
echo "<tr class='tr'>";
while ($seolistRow = mysql_fetch_array($seolistRes)) {
    $taskValue = $seolistRow["taskValue"];
    $worksheetID = $seolistRow["worksheetID"];
    $taskName = $seolistRow["taskName"];
    $taskInfo = $seolistRow["taskInfo"];

    if ($taskValue == 1) {
            $taskDone = "<input type='checkbox' value='1' class='checkbox' name='checkbox".$worksheetID."' id=checkbox'".$worksheetID."' checked='checked' /><div class='taskinfo'>".$taskInfo."</div>";
    }
    else {
            $taskDone = "<input type='checkbox' value='0' class='checkbox' name='checkbox".$worksheetID."' id='checkbox".$worksheetID."' />";
    }
    if ($currentTask != $taskName) {
        echo "</tr>";
        echo "<tr class='tr'>";
        echo "<td class='task'>".$taskName."</td>";
    }
echo "<td class='tick'>".$taskDone."</td>";
$currentTask = $taskName;
}
echo "</tr>";
?>
}

我想让它做的是,当我选中一个复选框并单击submit时,它会将db中的值保存为1。(这样做有效)但当我取消选中复选框时,我希望它删除该值并将其替换为0

这将显示在安全登录区域,供每位客户查看。这是一个多用户登录/复选框系统

i、 E10人将能够登录并更新待办事项列表,然后20名用户/观众可以看到所取得的进展


从数据库中获取数据以显示在表中不是一个问题,我已经这样做了,我只是在将数据库“taskValue”从1更改为0和从0更改为1时遇到了一个问题

您可以使用jQuery来实现这一点

<script>
$(document).ready(function() {
    $("input[type=checkbox]").click(function() {
        var isSel = this.checked;
        $.ajax({
            url: 'urlToYourScriptThatExecuteSQL.php',
            type: 'POST',
            dataType: 'json',
            data: {
                id : this.id,
                isSelected : isSel
            },
            success: function(data) {
                alert('nice');
            },
            error: function() {
                alert('error');
            }
        });
    });
});
</script>

$(文档).ready(函数(){
$(“输入[type=checkbox]”。单击(函数(){
var isSel=this.checked;
$.ajax({
url:'urltoYourScripthatExecuteSQL.php',
键入:“POST”,
数据类型:“json”,
数据:{
id:this.id,
选举:伊塞尔
},
成功:功能(数据){
警惕(“好”);
},
错误:函数(){
警报(“错误”);
}
});
});
});
注意:您的
url到您的scriptthatExecuteSQL.php
接收
$\u POST['id']
$\u POST['isSelected']

尝试以下操作:

<?php
if ( count($_POST['task']) ) {
  $q = "update task_table set taskValue=0";
  mysql_query($q);

  foreach($_POST['task'] as $k=>$v) {
    $q = "update task_table set taskValue=1 where worksheetID=$k";
    mysql_query($q);
  }
}
?>
<form action="" method="post">
<?php
while ($seolistRow = mysql_fetch_array($seolistRes)) {
  $taskValue = $seolistRow["taskValue"];
  $worksheetID = $seolistRow["worksheetID"];
  $taskName = $seolistRow["taskName"];
  $taskInfo = $seolistRow["taskInfo"];
  echo '<input type="checkbox" name="task['.$worksheetID.']" id="task_'.$worksheetID.'"'.(($taskValue)?' checked="checked"':'').' />';
}
?>
<input type="submit" value="submit" />
</form>

这会让您获得以下体验:

<form action="">
<input type="checkbox" name="task[1]" id="task_1" checked="checked" />
<input type="checkbox" name="task[2]" id="task_2" />
<input type="checkbox" name="task[3]" id="task_3" checked="checked" />
<input type="checkbox" name="task[4]" id="task_4" checked="checked" />
<input type="submit" value="submit" />
</form>


无论是否选中复选框,查询都将自动更新数据库。一页,一个勾选/取消勾选脚本。

保存代码也请,谢谢。你是说当你取消勾选框时它不起作用吗?请提供你的
post
代码和数据库更新!
<form action="">
<input type="checkbox" name="task[1]" id="task_1" checked="checked" />
<input type="checkbox" name="task[2]" id="task_2" />
<input type="checkbox" name="task[3]" id="task_3" checked="checked" />
<input type="checkbox" name="task[4]" id="task_4" checked="checked" />
<input type="submit" value="submit" />
</form>