2012-07-03 69 views
1

我想创建一个数组,其中包含多个存储复选框结果的数组。表格数组复选框

category->subcategory->choice 

我不知道这甚至有可能,但我想是这样的,也许:

<input type="hidden" name="category[]" /> 
<input type="checkbox" name="subcat1[]" value="something" /> 
<input type="checkbox" name="subcat1[]" value="somewhere" /> 
<input type="checkbox" name="subcat2[]" value="something" /> 
<input type="checkbox" name="subcat2[]" value="somewhere" /> 

我希望能够采取类别阵列循环通过它用PHP这样的:

foreach($_POST['category'] as $sub){ 
    switch($sub){ 
     case 'subcat1': 
      foreach($sub as $val){ 
       //prepare $val to insert into database X 
      } 
      break; 
     case 'subcat2': 
      foreach($sub as $val){ 
       //prepare $val to insert into database Y 
      } 
      break; 
    } 
} 
+0

是的,这是可能的,但具体是什么问题? –

回答

1

它甚至比你想象:

<input type="checkbox" name="category[subcat1][]" value="something" /> 
<input type="checkbox" name="category[subcat1][]" value="somewhere" /> 
<input type="checkbox" name="category[subcat2][]" value="something" /> 
<input type="checkbox" name="category[subcat2][]" value="somewhere" /> 

然后:

foreach($_POST['category'] as $subCategoryName) { 
    foreach ($subCategoryName as $item) { 
     // ... 
    } 
} 

如果你对不同的子类别预期治疗不相似的是,它会更好,如果你只是张贴他们不同的阵列。

+0

我想如果我使用二维数组,然后使用开关,它可能会更少的代码,但可能会做到这一点。 – Ray