Tom: Übergabe von Checkbox-Werten in die Select-Abfrage

Beitrag lesen

Hello,

Lasse dir die Werte als Array übergeben (eckige Klammern an den Namen hängen, name="xyz[]"), und generiere daraus eine komma-separierte Liste, die du im IN()-Operator einsetzen kannst.

Danke für die schnelle Antwort. Gibt es dazu vielleicht ein Tutorial, einen (Beispiel-)Codeschnipsel oder etwas ähnliches (Links?). Die Beschreibung ist für mich wie eine Anleitung in serbokroatisch ...

Dann lass es uns übersetzen:

Wie sieht das Formular aus?

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data">

<p><input type="checkbox" name="ctrl[record][]" value="1234"> 1234</p>
        <p><input type="checkbox" name="ctrl[record][]" value="2345"> 2345</p>
        <p><input type="checkbox" name="ctrl[record][]" value="2222"> 2222</p>
        <p><input type="checkbox" name="ctrl[record][]" value="1313"> 1313</p>
        <p><input type="checkbox" name="ctrl[record][]" value="4711"> 4711</p>

<p><input type="submit" name="btn[show]" value="anzeigen"></p>

</form>

In der PHP-Datei steht dann ungefähr:

if (isset($_POST['btn']['show']))
   {
       if (isset($_POST['ctrl']['record']) and is_array($_POST['ctrl']['record']))
       {
           $_liste = array_map('intval', $_POST['ctrl']['record']);
           $liststr = "('" . implode(",'", $_liste) . "')";
       }

## Aufruf des SHOW-Statements

}

und das Statement kennst Du schon.

Nun hoffe ich, dass kein Tippfejhler drin ist.
Lass Dir an geeigneten Stellen einfach zur Kotrolle mal ausgegen, was in den Variablen drin steht. dann sollte es am schnellstens klar werden, was da passiert.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de