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