各位好,我知道写入是这样,复选框的名臣命为shareAn[]
然后
$chek=$_POST[shareAn];
for($i=0;$i<count($chek);$i++)
{
$shareAn[]=$chek[$i];
}
$str1=implode(",",$shareAn);后
再insert写$str1就行,那如果要修改前,如何正确显示出数据表字段中复选框的值呢?
谢谢

解决方案 »

  1.   

    建议把未选中和已选中的值全部用分隔符隔成一个字符串 0表示未选中 1表示选中 0,1,0,0,1
    然后explode后 遍历数组
      

  2.   

    就是前面如何正确显示出这个字段的值,
    如果字段中的值为a,b,c,d,那在修改页面如何能正确显示出这些值呢?怎么一一对应?
    <input type="checkbox" name="shareAn[]" value="a" />
    <input type="checkbox" name="shareAn[]" value="b" />
    <input type="checkbox" name="shareAn[]" value="c" />
    <input type="checkbox" name="shareAn[]" value="d" />
    关键是那个selected要如何判断出来?
    谢谢
      

  3.   

    不知道你这是不是动态生成的你可以这样试试<input type="checkbox" name="shareAn[1][]" value="a" />
    <input type="checkbox" name="shareAn[2][]" value="b" />
    <input type="checkbox" name="shareAn[3][]" value="c" />
    <input type="checkbox" name="shareAn[4][]" value="d" />
    这样你就可以知道,3=C  2=b
      

  4.   

    其实我是直接写出来的.
    <input type="checkbox" name="shareAn[]" value="a" checked />
    <input type="checkbox" name="shareAn[]" value="b" />
    <input type="checkbox" name="shareAn[]" value="c" />
    <input type="checkbox" name="shareAn[]" value="d" />
    关键是那个checked要如何才能正确判断出来?
    <input name="shareAn[]" type="checkbox" value="a" <?php
    $sql="select * from products where ID='".$_GET['ProID']."'";
    $result=mysql_query($sql,$conn);
    $rs=mysql_fetch_array($result);
    $ss=explode(',',$rs['shareAn']);
    for ($i=0;$i<count($ss8);$i++){
    if ($ss['0']=="a") echo "checked";
    }
    ?>>a
    这个不行...
      

  5.   

    for ($i=0;$i<count($ss8);$i++){这句的$ss8哪里来的
      

  6.   

    $rs=mysql_fetch_array($result);
    得到的结果是什么?
    print_r($rs);
      

  7.   

    现在主要是不能循环对应..
    print_r($rs);这个结果你可能看得不清楚,太多字段...
    a,b,c [shareAn] => a,b,c [28]还有其他.<input name="shareAn[]" type="checkbox" value="b" <?php
    $sql="select * from products where ID='".$_GET['ProID']."'";
    $result=mysql_query($sql,$conn);
    $rs=mysql_fetch_array($result);
    $ss=explode(',',$rs['shareAn']);
    for ($i=0;$i<count($ss);$i++){
    if ($ss['1']=="b") echo "checked";
    }
    ?>>b
    这个还是有问题,请问这个写法错在哪里?
      

  8.   

    因为现在没有环境帮你试,所以你自己要勤快点。
    如果循环有问题,看看$ss=explode(',',$rs['shareAn']);
    看看你的$rs['shareAn']是什么值。
      

  9.   

    不能用JS进行读取然后赋予给PHP?看不明白是什么问题路过,飘过