dynamische Checkboxabfrage
Thom
- php
Moin,
ich brauch mal eure Hilfe...
Denn manch mal sieht man den Wald vor lauter Bäumen nicht...
Ich hab ein Inputfeld
echo "<td align="center"><input type="checkbox" name="SystemValue$sysrow->S_ID" value="1"";
if ($activ == 1){
echo " checked";
}
echo "></tr>";
Setzt sich zusammen aus "SystemValue" und einer ID... kein Problem...
Wie kann ich jetzt nach dem submit diese Variable überprüfen ob sie "checked" ist!?
Hab ein select geschrieben welcher mir die ID`s ausgibt und hab ein loop drüber gemacht..
while($UpdateSysRow = mysql_fetch_object($db_SelectAllSystems))
{
$Count = $UpdateSysRow->S_ID;
if (isset($POST["SystemValue$Count"]))
{
echo "Ausgabe=".$POST["SystemValue$Count"];
echo "<br>";
}
Bekomme jedoch keine Ausgabe!? Denk o. Syntaxfehler?!
Hoffe ihr könnt mir helfen...
thx
Hi
if (isset($POST["SystemValue$Count"]))
das Post-Array sieht so aus $_POST
ciao
romy
Jo danke ist mir auch grad aufgefallen, geht aber immer noch nicht... *grrml*
Hi
if (isset($POST["SystemValue$Count"]))
das Post-Array sieht so aus $_POSTciao
romy
Nachtrag:
Also ich bekomm jetzt auch die Werte (Values), die ursprüngliche Frage war jedoch:
Wie kann ich überrprüfen ob diese "checked" sind!?
Jo danke ist mir auch grad aufgefallen, geht aber immer noch nicht... *grrml*
Hi
if (isset($POST["SystemValue$Count"]))
das Post-Array sieht so aus $_POSTciao
romy
Hello,
Wie kann ich überrprüfen ob diese "checked" sind!?
RTFM of SelfHTML ;-)
gesendet bedeutet checked...
Liebe Grüße aus http://www.braunschweig.de
Tom
@Tom
Du bist a held.. ;o)
RTFM *tzzz*
Ich habe von drei Checkboxen nur eine selektiert bekomme die Ergebnisse aber von allen dreien...
@Romy
Hat leider auch nichts gebracht...
Hello,
Wie kann ich überrprüfen ob diese "checked" sind!?
RTFM of SelfHTML ;-)
gesendet bedeutet checked...
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
echo "<td align="center"><input type="checkbox"
name="SystemValue$sysrow->S_ID" value="1"";
if ($activ == 1){ echo " checked";} echo "></tr>";
while($UpdateSysRow = mysql_fetch_object($db_SelectAllSystems)){
$Count = $UpdateSysRow->S_ID;
if (isset($POST["SystemValue$Count"])){
echo "Ausgabe=".$POST["SystemValue$Count"];
echo "<br>";
}
}
Es fehlte eine schliessende geschweifte Klammer, aber da ist wahrscheinlich ein Kopierfehler.
Interessant wäre, was überhaupt ankommt.
Ich bin mir bei Deinen Konstrukten wie "SystemValue$Count" nicht sicher ob die reibungslos funktionieren.
Was Du also machen könntest wäre mal neben der checkbox mal noch ein inpufeld zu senden, welches den Inhalt "SystemValue$sysrow->S_ID" hat um zu sehen, was eigentlich ankommt. Dann würde ich mir alle Id's die aus der Schleife kommen anschauen und manuell gucken ob es überstimmungen gibt.
Ansonsten müsstest Du die Strings mal anders zusammensetzen
"SystemValue".$Count
"SystemValue".$sysrow->S_ID
Hilfts?
ciao
romy
Hello,
könnte da nicht ein genereller Denkfehler drinstecken?
Wie werden denn Checkboxen bei Dir in der Datenbank abgespeichert?
Gehen wir doch mal davon aus, dass Du dafür ein feld "c1" vorgesehen hast, das vom Typ tinyint ist. Dann würde
0 == nicht gesetzt
1 == gesezt
bedeuten.
Wenn jetzt die Checkbox im Client nicht gesetzt wurde, wird sie auch nicht mit übertragen. Also könntest Du "dynamisch automatisch" den Wert in der Tabelle überhaupt nicht mehr zurücksetzen. Du musst also wissen, welche Werte Du in der Tabelle setzen musst. Genauso musst Du wissen, welche Werte Du dem Client zur Manipulation zur Verfügung gestzellt hast.
Werteliste aus DB oder Programm zusammenstellen
Werteliste in der Session unter Formular-Zertifikat abspeichern
Post aus dem Formular empfangen
Schauen, ob ein passendes Zertifikat mit Werteliste vorhanden ist
Werteliste abarbeiten (foreach() ) und gemä0 der hinterlegten Typen
die Werte aus dem Formular updaten.
Das ganze nennt man auch "forward safety strategy". Einen duetschen Beegriff habe ich noch nicht faür gelesen. Aber es ist ja ganz simpel, welche Strategie dahintersteht: gib niemals ein Wissen auf, das Du schon erlangt hast...
Liebe Grüße aus http://www.braunschweig.de
Tom