Checkbox Post Array Empty

时间:2011-03-10 01:06:12

标签: php arrays checkbox

有人可以帮我弄清楚这个数组有什么问题。我已经尝试了所有的东西,但在我的帖子中总是空洞的。

非常感谢,保罗。

FORM

while ($rowcat2 = mysql_fetch_array($resultcat2)) { 
        $accSubcatID = $rowcat2["id"];
        $accvalue = $rowcat2["value"];

    <span><?=$accvalue?>:</span><input type="checkbox" name="accSubcat[]" id="accSubcat[]" style="margin-right:10px;" value="<?=$accSubcatID?>" />

}

POST DATA

  if(!empty($_POST['accSubcat'])){

    foreach($_POST['accSubcat'] as $key) {

        $accsubcatID = $key;

        if ($accsubcatID) {

    $sql3= "INSERT INTO yt_acc_data (busID,subcatID)
    VALUES ('$busID','$accsubcatID')";
    //Execute SQL statement

        if(!($mysql_rs3 = mysql_query($sql3)))
        die("Error in executing query3");

        }
    }

}

1 个答案:

答案 0 :(得分:0)

@tomalak提出了一个好点

现在首先我说你必须检查

echo "<pre>";
print_r($)POST);

如果post数组正常,那么我只是优化你的mysql / php方式,看看

btw $ mysql_rs3 是什么,比较if条件中的mysql语句?

if(!empty($_POST['accSubcat'])){
    foreach($_POST['accSubcat'] as $key=>$value) 
    {
     if (!empty($value)) {
        // i think datatype of *busID* and *subcatID* is integer
        $sql3= "INSERT INTO yt_acc_data (busID,subcatID) VALUES ($busID,$accsubcatID)";
        //Execute SQL statement         
        if(!(mysql_query($sql3)))
            die("Error in executing query3");
       }
    }
}