In $_GET Variable mit einbinden?! und Problem mit Arrays?!

Blaubmania

Erfahrenes Mitglied
Hiho ich bins mal wieder :-),
also folgendes Problem ich habe mehrere Checkboxen deren Name ist checkbox1, checkbox2, checkbox3 ...

Jetzt hab ich eine Zählerschleife eingebaut die mir die inhalte jeder Checkbox überprüfen soll blos hab ich folgendes Problem

PHP:
for($j=1;$j<=$checkbox-1;$j++)
{
if($_GET['checkbox'$j]==true)
{
mysql_query("UPDATE t_klasse_aufgabe SET AufgabenID='".$aufgaben[$j-1]."', KlassenID='".$klasseID."', gelöst="true"")
}
}
Parse error: syntax error, unexpected T_VARIABLE, expecting ']' in ...\aufgabenpool\search.php on line 273
er akteptiert $j in $_GET['checkbox'$j] nicht, schätze mal das die Variable $j einfach falsch steht wie schreibe ich das richtig?

desweiteren krieg ich noch eine andere Fehlermeldung

Parse error: syntax error, unexpected T_STRING in ...\aufgabenpool\search.php on line 275
diese bezieht sich auf die SQL Abfrage aber ichw eis nicht was an der falsch sein soll vlt. das Array aber ka. Vielleicht kann mir da auch wer helfen :)

Thx schon mal im voraus
 
Hallo,

Zu Fehler 1: Würde ich mal darauf tippen das der $_GET string nicht verkette ist mit $i ;)
Also anstatt so: $_GET['checkbox'$j] mach es mal so: $_GET['checkbox'.$j]

Zu Fehler 2: in der SQl syntax hast du bei gelöst ebenfalls die Verkettung nicht beachtet also mach das mal so: mysql_query("UPDATE t_klasse_aufgabe SET AufgabenID='".$aufgaben[$j-1]."', KlassenID='".$klasseID."', gelöst=".true.""); Nun weiß ich nicht was true zurückgibt damit meine ich ob es als String gehandhabt wird oder als Integer wenn als String dann musst du True in ' ' setzen.

achja und vergess die semikolons nach den Funktionen nicht ;-)

MfG Funjoy
 
Schanke Dön :) jetzt zumindest alles von der Syntax her ^^ blos jetzt meine Schleife nicht so wie ich das will der möchte verdammt nochmal die dantenbank ned aktualisieren aber das werd ich noch hinkriegen hoffe ich mal :D also thx für die schnelle Hilfe.
 
Hi

Ich weiß nicht ob dir das Hilft also nur mal so alsTip.

Man kann bei Checkboxen ein [] hinter dem Namen angeben so wird automatisch ein Array zurückgegeben.

<input type="checkbox" name="check[]" value="1">
<input type="checkbox" name="check[]" value="2">
<input type="checkbox" name="check[]" value="3">

Jetzt hast du ein Array mit 3 Feldern. Wählt du nur 2 Checkboxen hast du ein Array mit 2 Feldern.

Jetzt kannst du das Array einfach mit forach auslesen

PHP:
foreach ($_POST['check'] as $name => $value)
{
       mysql_query("UPDATE t_klasse_aufgabe SET AufgabenID='".$value."', KlassenID='".$klasseID."', gelöst=".true."")
}

Das Feld gelöst würde ich als tinyint setzen das Spart platz und als Werte 1 und 0 nehmen. True gibt übrigens 1 und False 0 zurück.

Mfg Akkie
 
Also die schleife jetzt wie se soll aber der Tipp hört sich jut an könnte meinen Quelltext etwas kleiner werden lassen, blick da kaum noch durch ^^ Mal schauen ob ich das mit den Arrays so einbauen kann. gelöst ist bei mir bool von daher geht da nur 0 und 1.
 
Zurück