Daten aus Datenbank lesen

Autor Nachricht
Verfasst am: 13.05.2008 [00:03]
Major_Tom13

[Themenersteller]
dabei seit: 24.11.2005
Beiträge: 15

Hallo,

ich weiß nicht mehr weiter. Ich schreibe gerade an einer Extension (Es ist meine erste) und habe dafür bereits mit dem Kickstarter eine Tabelle in der Datenbank angelegt wie ich sie brauche. Das hat alles wunderbar funktioniert.

Jetzt wollte ich die Daten aus der Datenbank auslesen und habe dafür diverse Tutorials gelesen und ich denke ich habe die Grundsätze auch verstanden.

Dennoch bekomme ich die Inhalte nicht in die Marker geschrieben und ich weiß nicht wo mein Fehler ist. Selbst stundenlanges recherchieren im Internet und auch in diversen Foren brachte mich nicht weiter.

Hier ist mein Code:

Php:Zeilennummerierung:  An / Aus

  1. function main($content,$conf)   {
  2.         $this->conf=$conf;
  3.         $this->pi_setPiVarDefaults();
  4.         $this->pi_loadLL();
  5.                
  6.         // Lade das Template-File.           
  7.         $this->id=$GLOBALS['TSFE']->id;
  8.         $this->template=$this->cObj->fileResource('EXT:ms_job/fe_anzeige.html');
  9.                
  10.         // Rufe die Funktion displayAll() auf und schreibe das Ergebnis nach $content
  11.         $content .= $this->showItem();
  12.  
  13.         // Gebe den erstellten Content zurück
  14.         return $this->pi_wrapInBaseClass($content);
  15. }
  16.        
  17. function showItem(){
  18.         #Subpart  $subpart=$this->cObj->getSubpart($this->template,'###TEMPLATE_DISPLAY_ALL###');
  19.         #Datensatz holen
  20.         $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_msjob_requierements','uid = 43');
  21.        
  22.         $record = $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);      
  23.         while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))       {
  24.                 $record[] .= $row;
  25.         }
  26.                
  27.         #Marker füllen
  28.         $markerArray['###JOB_STATUS###']=$record['ms_job_status'];
  29.         return $this->cObj->substituteMarkerArrayCached($subpart,$markerArray,array(),array());     
  30.         }


Keep the faith don't lose your head
Verfasst am: 13.05.2008 [10:24]
jochen

dabei seit: 15.12.2003
Beiträge: 64

Ground Control to Major Tom...

kann es sein, dass nur der Name Deiner DB-Tabelle ("tx_msjob_requierements") nicht stimmt? Heisst die evtl. "tx_msjob_requirements"?

Was sagt das Debugging (sqlDebug, cc_debug)? Bekommst Du überhaupt etwas aus der Datenbank zurück?

Grüße
Jochen

Jochen Fröhlich | TYPO3 Programmierung in Stuttgart
Verfasst am: 13.05.2008 [11:24]
mtd04014

dabei seit: 24.08.2006
Beiträge: 125

In Zeile 18 deines Codes:

Php:Zeilennummerierung:  An / Aus

  1. #Subpart $subpart=$this->cObj->getSubpart($this->template,'###TEMPLATE_DISPLAY_ALL###');


wird der Subpart geladen. Diese Zeile steht aber in einer Zeile mit dem Kommentar und wird deshalb ja auch als Kommentar interpretiert, also der Subpart nie geladen.
Oder ist das beim kopieren ins Formular passiert?
Verfasst am: 13.05.2008 [15:46]
Major_Tom13

[Themenersteller]
dabei seit: 24.11.2005
Beiträge: 15

Vielen Dank an alle! Wer lesen kann ist klar im Vorteil. Habe heute nochmal an die Datenbank Hand angelegt und den Fehler gefunden.

Ich will ja die Daten auslesen, wo die UID = 43 ist (Wird später noch verändert). Doof nur, dass ich keinen Datensatz mit der UID = 43 habe. Ich weiß gar nicht wie ich auf den Trichter gekommen bin.

Also der Code funktioniert soweit (Nur das ich für die 43 was anderes einsetzen muss).

Jetzt schließt sich gleich eine andere Frage mit an:

Ich habe in meinen Tabellen ja Integerwerte aus denen im Backend die "Reinschriften" generiert werden.

Also zum Beispiel im Feld ms_job_status:

1 bedeutet zum Beispiel gekündigt
2 bedeutet zum Beispiel gelangweilt
3 bedeutet zum Beispiel will keinen Job
usw.

Wenn ich also mit dem Code die Datenbank auslese, bekomme ich im Frontend die Integer angezeigt. Wie kann ich auf einfachste Weise diesen Werten im Frontend den "Reintext" zuweisen.

Also statt:
Status: 1

Lieber so:
Status: gekündigt

Keep the faith don't lose your head




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.