如下图所示左边是后台的导航,右边是用户的状态(只读,可写)现在的需求是给用户分配权限,问题出来了添加用户的时候,如何把复选框的值跟前面的导航的id 一起传过去呢?就像这样 导航id,read,edit 对应数据库是"0,0,1" ,"1,0,1","2,0,1"...如果复选框之选一个 ,对应数据库就只有一个导航id号+复选框选中的value 如(0,0)or (0,1)...如果 一个都不选 ,数据库就只有一个导航id 该如何设计插入呢?
调试欢乐多
我以四个复选框为例 html+js部分的
<script type="text/javascript">
function mySubmit(){
checkboxes = document.getElementsByName("a");
var str="";
for(i=0;i<checkboxes.length;i++){
if(checkboxes[i].checked==true){
str +="1";
}else{
str +="0";
}
}
//比如选了2 3 那么就是 0110
addFrom.action +="?str="+str;
addFrom.submit();
}
</script><form method="post" action="action.php" name="addFrom">
<input type="checkbox" name="a">a1
<input type="checkbox" name="a">a2
<input type="checkbox" name="a">b1
<input type="checkbox" name="a">b2
<input type="button" value="提交" onclick="mySubmit()">
</form>
拿到字符串(比如0110)之后,再到php弄成你想要的格式 存入数据库
不知道有没理解错 希望帮到你
addFrom.action +="?str="+str;
addFrom.submit();你的这段代码是什么意思? 我要做的是跳到当前页面,就是一个页面之间跳转 ,不知道该如何弄呢麻烦再解释一下,菜鸟,别介意啊 !呵呵!
你HTML表单有个action属性 这个属性指定你的处理页面比如action.php
这样一写就是 action.php?str=0110
第二句话的意思就是 提交表单
你不是要添加新用户吗? 你会有个php处理页面是吧? 你把数据传到哪个页面 再进行处理就可以了 是个页面跳转来的
当然,你学过ajax的话 就可以不用跳转页面进行提示。
中间红色部分你可以忽略 ,我是想通过隐藏域传到另一个页面的麻烦在帮我看看该如何解决呢? 谢谢了!
php处理页面拿到0110(例子)之后
你就进行处理变成
array(1=>'0,0,1' 2=>'1,1,0')
最后存入数据库 再根据你的数据库设计存就可以了 你可以存成一条字符串 或者分开存都行
应该这么写,理解后自己调整一下<form method=post>
<input type=checkbox name=ck[0][] value=1 checked><input type=checkbox name=ck[0][] value=2 checked><br>
<input type=checkbox name=ck[1][] value=1><input type=checkbox name=ck[1][] value=2><br>
<input type=checkbox name=ck[2][] value=1 checked><input type=checkbox name=ck[2][] value=2><br>
<input type=checkbox name=ck[3][] value=1><input type=checkbox name=ck[3][] value=2 checked><br>
<input type=checkbox name=ck[4][] value=1 checked><input type=checkbox name=ck[4][] value=2 checked><br>
<input type=checkbox name=ck[5][] value=1><input type=checkbox name=ck[5][] value=2><br>
<input type=checkbox name=ck[6][] value=1><input type=checkbox name=ck[6][] value=2><br>
<input type=checkbox name=ck[7][] value=1 checked><input type=checkbox name=ck[7][] value=2><br>
<input type=checkbox name=ck[8][] value=1><input type=checkbox name=ck[8][] value=2><br>
<input type=submit value=ok>
</form>
<?php
if(!isset($_POST['ck'])) return;
$r = array();
foreach($_POST['ck'] as $id=>$ck) {
$t = array($id, 0, 0);
foreach($ck as $v) $t[$v] = 1;
echo join(',', $t), '<br>';
}
输出
0,1,1
2,1,0
3,0,1
4,1,1
7,1,0