<input type="checkbox" name="c1" value="a1">
<input type="checkbox" name="c2" value="a2" checked>
c1没选中,值就是空的,c2选中了,值就是“a2”
不必每个爱好都用一个字段,你可以只用一个字段,然后在处理页用一个字符串变量存储选中的爱好,用逗号分隔,然后存到那个字段里

解决方案 »

  1.   

    checkbox 是在选择了后才传回变量.
    如果你不想一个check对应一个字段,你可以用位的方法或是用字符串的方法,把多个check集成到一个字段里.
      

  2.   

    我的方法是,建立一个数组
    $intrest=array(1=>"jrsx",2=>"jrgc",3=>"jrgl",4=>"gqtz",5=>"zqtz",6=>"tzlc",7=>"jrbd",8=>"jrfy",9=>"yjzy",10=>"tyx",11=>"mjdj",12=>"jrxt",13=>"qh",14=>"zwcz",15=>"wbyw",16=>"kj",17=>"wdlw") ;
    for($i=1;$i<=sizeof($intrest);$i++)
     {
     if ($$intrest[$i]==true)
      {
      $j++;
      $intrest2=$intrest2.$intrest[$i].":";
                         if ($intrest[$i]=="jrsx")
                       { echo "<BR>金融数学";
                       }
                         if ($intrest[$i]=="jrgc")
                       { echo "<BR>金融工程";
                       }
                         if ($intrest[$i]=="jrgl")
                       { echo "<BR>金融管理";
                       }
                         if ($intrest[$i]=="gqtz")
                       { echo "<BR>股权投资";
                       }
                         if ($intrest[$i]=="zqtz")
                       { echo "<BR>债权投资";
                       }
                         if ($intrest[$i]=="tzlc")
                       { echo "<BR>投资理财";
                       }
                       if ($intrest[$i]=="jrbd")
                       { echo "<BR>金融报道";
                       }
                       if ($intrest[$i]=="jrfy")
                       { echo "<BR>金融法苑";
                       }
                       if ($intrest[$i]=="yjzy")
                       { echo "<BR>一家之言";
                       }
                       if ($intrest[$i]=="tyx")
                       { echo "<BR>听雨轩";
                       }
                       if ($intrest[$i]=="mjdj")
                       { echo "<BR>名家点津";
                       }
                       if ($intrest[$i]=="jrxt")
                       { echo "<BR>金融学堂";
                       }
                       if ($intrest[$i]=="qh")
                       { echo "<BR>期货";
                       }
                       if ($intrest[$i]=="zwcz")
                       { echo "<BR>债务重组";
                       }
                       if ($intrest[$i]=="wbyw")
                       { echo "<BR>外币业务";
                       }
                       if ($intrest[$i]=="kj")
                       { echo "<BR>会计";
                       }
                       if ($intrest[$i]=="wdlw")
                       { echo "<BR>我的论文";
                       }
    }
    只有上面被选中的checkbox才会返回值,也就是wdlw,kj之类的
    你可以在数据库里只用一个字段,但是用冒号分割
    比如kj:wdlw:jrxt这样,当你读去的时候,用字符串函数str_split得到一个数组
    就可以了