Thom: dynamische Checkboxabfrage

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

  1. Hi

    if (isset($POST["SystemValue$Count"]))

    das Post-Array sieht so aus $_POST

    ciao
    romy

    1. 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 $_POST

      ciao
      romy

      1. 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 $_POST

        ciao
        romy

        1. 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

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. @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

      2. 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

  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau