webForumDet fria alternativet

Dynamiskt formulär, fel 'rad' sparas

PHP

1 svar · 246 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej,

Jag har ett dynamiskt formulär där varje "rad" innehåller 5st selectlistor. Eftersom det är dynamiskt så är varje selectlista en array.

Sparar datan med det här:

$query = array();
for($i = 0; $i <= sizeof($_POST['branch_no']) - 1; $i++){
	if(isset($_POST['branch_no'][$i])){
		$branch_parent = safesql($_POST['phase_list'][$i]);
		$style_list	   = safesql($_POST['style_list'][$i]);
		$pool_list	   = safesql($_POST['pool_list'][$i]);
		$gender_list   = safesql($_POST['gender_list'][$i]);
		$minage_list   = safesql($_POST['minage_list'][$i]);
		$maxage_list   = safesql($_POST['maxage_list'][$i]);
		$branch_order  = safesql($_POST['branch_order'][$i]);
		
		if(is_numeric($branch_order) && $branch_order >= 1 && $style_list >= 1)
			$query[] = "(" . $branch_parent . ", " . $style_list . ", " . $pool_list . ", " . $gender_list . ", " . $minage_list . ", " . $maxage_list . ", " . $branch_order . "), \n";
	}
}

$_POST['branch_no'] är en checkbox på varje rad och endast de rader där boxen är markerad ska sparas.

Problemet som jag har just nu är att om jag endast bockar i rad 25, så sparas ändå värdet från rad 1.

Någon som ser något fel i koden ovan?

Tack!

Medlem sedan feb. 20034 441 inlägg
#2

Bytte min for-loop till en foreach så funkar det igen.

foreach($_POST['branch_no'] as $key => $value){
	if(isset($_POST['branch_no'][$key])){
		$branch_parent = safesql($_POST['phase_list'][$value]);
		$style_list	   = safesql($_POST['style_list'][$value]);
		$pool_list	   = safesql($_POST['pool_list'][$value]);
		$gender_list   = safesql($_POST['gender_list'][$value]);
		$minage_list   = safesql($_POST['minage_list'][$value]);
		$maxage_list   = safesql($_POST['maxage_list'][$value]);
		$branch_order  = safesql($_POST['branch_order'][$value]);

		if(is_numeric($branch_order) && $branch_order >= 1 && $style_list >= 1)
			$query[] = "(" . $branch_parent . ", " . $style_list . ", " . $pool_list . ", " . $gender_list . ", " . $minage_list . ", " . $maxage_list . ", " . $branch_order . "), \n";
	}
}
251 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)