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

Beitrag lesen

Hello,

nee, das sind die beiden Zeilen ...

$sql = "select * from  $table WHERE untertext='2' AND id IN $liststr AND untertext_nr={$idd[$m]} Order By date DESC";

$liststr = "('" . implode("','", $_liste) . "')";

Wo wird denn in deinem Gesamtkunstwerk $liststr erzeugt?
Hast Du error_reporting(E_ALL) oben in Deinem Script drinstehen zum Debuggen?

Vermutlich wird Dein $liststr gar nicht genereriert, wenn keine Treffer vorhanden sind. Dann kann er später auch nicht ins SQL-Statement eingesetzt werden.

Da ist ggf. ein kleiner Designfehler in meinem Vorschlag.
Wenn das Statement auch mit leerem $liststr aufgerufen werden können soll, musst Du den vorher entweder mit

$liststr = "('')";

setzen oder besser die Sequenzen in der Bedingung ändern:

$liststr = '';

if (isset($_POST['btn']['show']))
   {
       if (isset($_POST['ctrl']['record']) and is_array($_POST['ctrl']['record']))
       {
           $_liste = array_map('intval', $_POST['ctrl']['record']);
           $liststr = "AND id IN ('" . implode(",'", $_liste) . "')";
       }
       else
       {
           ## Keine Checkboxen gewählt
           $_output['errors'][] = 'Sie haben keine Option ausgewählt';
       }

## Aufruf des Show-Statements, wenn es außer den Checkboxen auch noch
       ## andere Daten bereitstellen muss

$sql = "select * from  $table".
              " WHERE untertext='2' $liststr ".
              " AND untertext_nr={$idd[$m]} Order By date DESC";

# ...
   }

Bitte nur als Anregeung nehmen :-)

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

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