2011-03-10 69 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