Zum Inhalt springen

Nur der erste Datensatz wird angezeigt

Erstellt am 28. März 2008 · 3 Antworten · letzte Antwort am 29. März 2008

Tags: Frage

Heiky ·

Hallo ,
als Anfänger benötige ich Hilfe.
Ich habe ein Problem mit der Datenausgabe im FE, wenn ich eine where clausel in meine query einbaue.

In der Tabelle ‚regio’ gibt es ein Feld ‚checkhotel’ (erzeugt durch Single checkbox im Kickstarter), dass entweder den Wert 0 oder 1 enthält.
Nun sollen mit folgender query alle Datensätze angezeigt werden die im Feld checkhotel eine 1 haben.
....
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('tx_koba_regio.*',
'tx_koba_regio',
'tx_koba_regio.checkhotel=1',
'hidden=0 and deleted=0 and pid=183' .$this->cObj->enableFields('tx_koba_regio'),
$groupBy = '',
$orderBy = '',
$limit = '');

if ($res) {
$liste = '';
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$markerArray['###REGIO###']=$row['region'];
......

Leider wird immer nur der erste Datensatz mit checkhotel=1 aus der Tabelle ‚regio’ angezeigt.
Setze ich checkhotel=0 wird der erste Datensatz mit checkhotel=0 aus der Tabelle angezeigt.

Ohne die „where clausel“ werden alle Datensätze korrekt angezeigt.

Wie schaffe ich es, dass alle Daten mit checkhotel=1 angezeigt werden?
Muss die query geändert werden oder ist der Code für die Anzeige falsch?

Im Voraus Danke

Heike

ingolach ·

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('tx_koba_regio.*',
'tx_koba_regio',
'tx_koba_regio.checkhotel=1' AND pid=183' .$this->cObj->enableFields('tx_koba_regio'),
$groupBy = '',
$orderBy = '',
$limit = '');

Probiers mal so!

Heiky ·

Danke,

das war's.

PID=183 war durch ein falsches Hochkomma wohl nicht mehr in der Where clausel.

So gehts:
'tx_koba_regio.checkhotel=0 AND hidden=0 AND deleted=0 AND pid=183' .$this->cObj->enableFields('tx_koba_regio'),

Heike