首先产生疑问的由来是我之前自己写的代码,需要实现选中删除的原理,可能是看别人的,也可能是自己灵光一现,实现了这个功能,但是如今回头看看又不懂了,所以在这里做个死记硬背的总结,也期待一个大神来开导我一下。
    在form表单中代码是这样的(因为尖括号会被屏蔽所以用中文中括号代替)
【input type='checkbox' name='eletment[ ] ' value='$id'】
   于是我们用php把$id的变为数据库里相对应的数据id
这样就生成一个列表,选中后提交表单,在php内遍历数组
$selects=$_POST['eletment']
  foreach($select as $key => $value){
echo $key.'=>'.$value.'【br】';
}
这样输出以后会发现数组是这样被分割的,首先是(0,1,2)默认自动生成顺序的key
其次是(1,2,3)由对应$id生成的value
结果显示如下:
0=>1
1=>2
2=>3
很难想通为什么,只能做这样的笔记来整理一下。

解决方案 »

  1.   

    不懂,
    这么写 显示的checkbox是几个?
      

  2.   

    这个不是循环出checkbox而是得到checkbox的序号
      

  3.   

    name="element[]"
    这里表示如果该checkbox被选中,则向$_POST['element']数组添加一个元素,值为value
    如果你想控制序号:
    name="element[2]"
    在中括号里写就行,这样你后台用foreach循环的$key就是2
      

  4.   

    eletment[] 是数组
    使用$_POST获取,默认的下标就是0开始的
    下标对应值
    0=>1
    1=>2
    2=>3
    <?php
    if(isset($_POST['send'])){
        print_r($_POST);
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
     <head>
      <meta http-equiv="content-type" content="text/html;charset=utf-8">
      <title> test </title> </head> <body>
        <form name="form1" method="post">
            <p>多选:<input type="checkbox" name="ele[]" value="1">1 <input type="checkbox" name="ele[]" value="2">2 <input type="checkbox" name="ele[]" value="3">3 </p>
            <input type="hidden" name="send" value="true">
            <input type="submit" value="submit">
        </form>
     </body>
    </html>