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