2011-03-10 66 views
0

有人可以帮我找出这个数组有什么问题。我尝试过所有的东西,但是在我的文章中它总是空空如也。复选框后数组空

非常感谢,保罗。

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数据

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

'print_r($ _ POST);'? – Joseadrian 2011-03-10 01:11:21

+1

'id =“accSubcat []”'是错误的。 HTML ID对于每个DOM元素都是唯一的。你或者想要一个'class'属性(在这种情况下放下'[]')或者你根本不需要这个。 – 2011-03-10 01:25:26

回答

0

@tomalak建议好点

现在首先我说妳必须检查

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

如果二次阵列来正确然后 ,我只是优化你的MySQL/PHP的方式,看看

顺便说一句是什么$ mysql_rs3与üR IN 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"); 
     } 
    } 
} 
+0

谢谢你们,有道理。这效果更好。我只需要添加$ value而不是$ accsubcatID。 $ mysql_rs3可以取出。 – Paul 2011-03-10 07:13:20