Wedgy: Wert von Checkboxen in PHP auslesen - wie?

Hallo!
Ich hab eine Liste von Kunden. In dieser Liste ist neben jedem Eintrag eine Checkbox, am unteren Ende der Liste kann ich dann eine Aktion auswählen, was ich mit diesen Kunden tun möchte, zB löschen.

Das Formular wird via POST gesendet, wie kann ich nun im nachfolgenden PHP-Skript die Checkboxen auswerten? Logischerweise haben alle Checkboxen den gleichen Namen, übermittelt wird aber nur der Wert (Kundennummer) der letzten gewählten Checkbox.

Irgendwie riecht das verdächtig nach Javascript, ich wäre aber sehr happy wenns auch ohne ginge. Unterschiedliche Namen für die Checkboxen zu vergeben, erscheint mir auch nicht sinnvoll - die müßten abhängig von der Kundennummer sein, bei einer Liste von 10.000 Kunden müßte ich also 10.000 Variablennamen überprüfen, das gefällt mir also eher weniger.

Welche ist die eleganteste Lösung dieses Problems?

  1. Hallo,

    ich vermute, dass Du eine Datenbbank ausliest,
    also hast Du beim Lesevorgang jeweils einen Datensatz im Zugriff, klar, dass die das Feld Checkbox immr den gleichen Namen hat, aber das Feld z.B Kundennummer ja auch.
    Oder habe ich Dich falsch verstanden?
    Gruss city

    1. Oder habe ich Dich falsch verstanden?

      Ich denke, ja... Das Feld Kundennummer wird aber nicht per Post übermittelt. Konkretes Beispiel: Nimm GMX (oder ein anderes Webmail-Interface), da kannst Du zB jedes Spam-Mail mit einem Häkchen in einer Checkbox markieren. Nun gibt es drunter einen Button "Löschen" - und es werden die ausgewählten Mails gelöscht.
      In meinem Fall sinds halt Kunden, nicht E-Mails...

      Wie tu ich da?

  2. Hallo,

    ergaenze das name-Attribut der Checkboxen um "[]" (also zb. <input name="custno[]" ... />), dann erhaeltst du in PHP ein Array der ausgewaehlten Werte.

    Viele Grüße
    Patrick

    --
    "Though this be madness, yet there's method in't."
    sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:) va:} de:> zu:) fl:| ss:| ls:[ js:|
    1. Hallo,

      ergaenze das name-Attribut der Checkboxen um "[]" (also zb. <input name="custno[]" ... />), dann erhaeltst du in PHP ein Array der ausgewaehlten Werte.

      wie kann er von custno[0]=1 und custno[1]=1 usw auf seine ursprügliche Liste zurückschließen?
      Wäre es nicht sinnvoll beim auslesen seiner DB die Liste so darzustellen?
      <input name="custno['2318739172']" ... />
      <input name="custno['8302830482']" ... />
      <input name="custno['4348230828']" ... />
      Wobei die Zahlen dann der eindeutigen Kundennummer in der DB entsprechen.

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  PHP Project Browser--
      1. echo $begrüßung;

        Wäre es nicht sinnvoll beim auslesen seiner DB die Liste so darzustellen?
        <input name="custno['2318739172']" ... />
        <input name="custno['8302830482']" ... />

        Aber nur ohne die ' bitte, sonst hat man ein Problem beim Auswerten, da PHP die '' als Bestandteil des Key-Strings nimmt, und man dann sowas notieren müsste:

        echo $_POST['coustno'][''2318739172''];

        Siehe übrigens auch meine Antwort vom Posting nebenan.

        echo "$verabschiedung $name";