如下图所示左边是后台的导航,右边是用户的状态(只读,可写)现在的需求是给用户分配权限,问题出来了添加用户的时候,如何把复选框的值跟前面的导航的id 一起传过去呢?就像这样  导航id,read,edit  对应数据库是"0,0,1" ,"1,0,1","2,0,1"...如果复选框之选一个 ,对应数据库就只有一个导航id号+复选框选中的value  如(0,0)or (0,1)...如果 一个都不选 ,数据库就只有一个导航id 该如何设计插入呢?  

解决方案 »

  1.   

    你这个要先在js进行处理。发一个字符串(0100)到php那边 再到php那进行处理,打包成你想要的格式
    我以四个复选框为例 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>
      

  2.   

    php那边再接收  $_POST['str']
    拿到字符串(比如0110)之后,再到php弄成你想要的格式 存入数据库
    不知道有没理解错  希望帮到你
      

  3.   

    首先谢谢这位兄弟但是//比如选了2 3 那么就是 0110
    addFrom.action +="?str="+str;
    addFrom.submit();你的这段代码是什么意思?  我要做的是跳到当前页面,就是一个页面之间跳转  ,不知道该如何弄呢麻烦再解释一下,菜鸟,别介意啊 !呵呵!
      

  4.   

    第一句是用地址栏页面传参
    你HTML表单有个action属性 这个属性指定你的处理页面比如action.php  
    这样一写就是  action.php?str=0110
    第二句话的意思就是 提交表单
    你不是要添加新用户吗? 你会有个php处理页面是吧? 你把数据传到哪个页面 再进行处理就可以了 是个页面跳转来的
      

  5.   

    你处理完之后 再跳转到提示页面就可以了。 
    当然,你学过ajax的话 就可以不用跳转页面进行提示。 
      

  6.   

    但是你可能没理解我的意思,我的意思是要把栏目的id也插入到数据库呢? ,这该怎么弄呢?  论坛不知道能不能留QQ什么的,用QQ聊方便点了,刚来,不知道规则,怕被封了!这样吧,我把代码截图你看看 
    中间红色部分你可以忽略 ,我是想通过隐藏域传到另一个页面的麻烦在帮我看看该如何解决呢? 谢谢了!
      

  7.   

    id不是静态的吗?你可以自己定的嘛。
    php处理页面拿到0110(例子)之后
    你就进行处理变成
    array(1=>'0,0,1' 2=>'1,1,0')
    最后存入数据库 再根据你的数据库设计存就可以了  你可以存成一条字符串 或者分开存都行
      

  8.   

    越说越晕了...   你这个复选框不需要给value值了吗? 直接传$str ?  。503663247  帮帮我吧! 晕了
      

  9.   

    看下你的html代码  和 数据库表的设计!
      

  10.   

    你的checkbox空间命名有误
    应该这么写,理解后自己调整一下<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