"; //error_reporting(E_ALL & ~E_NOTICE); include("config.php"); // I'm assuming that dropdown 1_1 is the first one, 1_2 is the second one and so on. // subcat_1_1_1 is the first checkbox in the first dropdown in the first of the three sections. // subcat_1_1_2 is the second checkbox in that dropdown and so on. $categories = array(); $name = $_POST['name']; $green = $_POST['green']; $eco = $_POST['eco']; $dfe = $_POST['dfe']; print ("Name: $name
"); print ("$green
"); print ("$eco
"); print ("$dfe
"); // Just a little trick to make multiple variables on a single line $section_exists = true; $category_exists = true; $subcategory_exists = true; //echo "catexists: $category_exists
secexists: $section_exists
subcatexists: $subcategory_exists
"; // While the array-key exists, this loop will run and collect all checkboxes // in the array called categories print "START
"; for($w=1;$w>0;$w++) { echo "loop1
"; if(!array_key_exists('subcat_'.$w.'_1_1', $_POST)) { echo "loop2
"; $w = -1; } for($x=1;$x>0;$x++) { echo "loop3
"; if(!array_key_exists('subcat_1_'.$x.'_1', $_POST)) { echo "loop4
"; $x = -1; } for($y=1;$y>0;$y++) { echo "loop5
"; if(!array_key_exists('subcat_1_'.$x.'_'.$y, $_POST)) { echo "loop6
"; $y = -1; } if($_POST['subcat_1_'.$x.'_'.$y] == 'checked') { echo "loop7
"; $categories[$w][$x][] = $y; } } } } print_r ($categories); print "
TOP1
"; // Now you have an array with all checkboxes, something like // $subcat[1][1][1] = The number of the first checked checkbox in the first category // $subcat[1][1][2] = The number of the second checked checkbox in the first category and so on. // $subcat[1][2][1] = The number of the first checked checkbox in the second category // $subcat[1][2][2] = The number of the second checked checkbox in the second category and so on. // $subcat[2][1][1] = The number of the first checked checkbox in the first category, second section // $subcat[2][1][2] = The number of the second checked checkbox in the first category, second section and so on. print "MIDDLE1
" ; $key_exists = true; $subkey_exists = true; $strings = array(); // Loops through and turns all categories' arrays into strings for($h=1;$key_exists==true;$h++) { echo "loop8
"; if(!array_key_exists($h, $categories) || !array_key_exists(1, $categories[$h])) { echo "loop9
"; $key_exists = false; } for($i=1;$subkey_exists==true;$i++) { echo "loop10
"; if(!array_key_exists('['.$h.']['.$i.']', $categories)) { echo "loop11
"; $subkey_exists = false; } print(sizeof($strings)); echo "
"; // This will turn the array into a string with all subcategories, separated by ;. // For example, 0;3;53 if subcategory 0, 3 and 53 are checked $strings[$h][$i] = implode(';', $categories[$h][$i]); } } print "MIDDLE2
"; // Now strings[] contains all the strings (like 1;3;5 and 3;5;7). Loop through the array: for($x=1;$x"; // Done. // Store that field in the DB and then when you want them into an array again, do: // $array = exlode(';', $string); print_r($strings); print "
"; ?>