Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 12.05.08, 23:18
Forum Zuschauer
 
Registriert seit: 17.03.06
Alter: 28
Beiträge: 2
Probleme Tabellen aus Datenbank lesen

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-Code:
function main($content,$conf)    {
    
$this->conf=$conf;
    
$this->pi_setPiVarDefaults();
    
$this->pi_loadLL();
        
    
// Lade das Template-File.        
        
$this->id=$GLOBALS['TSFE']->id;
    
$this->template=$this->cObj->fileResource('EXT:ms_job/fe_anzeige.html');
        
    
// Rufe die Funktion displayAll() auf und schreibe das Ergebnis nach $content
    
$content .= $this->showItem();

    
// Gebe den erstellten Content zurück
    
return $this->pi_wrapInBaseClass($content);
}
    
function 
showItem(){
    
#Subpart
    
$subpart=$this->cObj->getSubpart($this->template,'###TEMPLATE_DISPLAY_ALL###'); 
        
#Datensatz holen
    
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_msjob_requierements','uid = 43');
        
    
$record $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);        
    while(
$row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))     {
        
$record[] .= $row;
    } 
    
#Marker füllen
    
$markerArray['###JOB_STATUS###']=$record['ms_job_status'];
    return 
$this->cObj->substituteMarkerArrayCached($subpart,$markerArray,array(),array());     

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 13.05.08, 08:44
TYPO3 Forum Team
Administrator
 
Registriert seit: 23.03.07
Beiträge: 444

Schaut ja eigentlich nicht schlecht aus, ich verstehe aber diese Code nicht:

PHP-Code:
    $record $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);        
    while(
$row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))     {
        
$record[] .= $row;
    } 
Was soll vor allem die 1. Zeile? Und wieviele Datensätze willst du denn da auslesen?

Überprüf doch mal mit print_r($markerArray) ob dort was drin ist.

Zudem solltest du auch überpüfen, ob

PHP-Code:
$this->template=$this->cObj->fileResource('EXT:ms_job/fe_anzeige.html'); 
funktioniert.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 13.05.08, 15:06
Forum Zuschauer
 
Registriert seit: 17.03.06
Alter: 28
Beiträge: 2

Problem gelöst.

Die erste Zeile war ein Test und gehört eigentlich gar nicht mehr dahin. Mein Problem habe ich selbst verursacht indem ich eine UID angegeben habe die es gar nicht gibt. Manchmal hilft es eine Nacht drüber zu schlafen *g*

Vielen Dank für die Hilfe!

etzt 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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 13.05.08, 18:27
TYPO3 Forum Team
Administrator
 
Registriert seit: 23.03.07
Beiträge: 444

Entweder du machst das gleich mit den locallang files und hardcodest es oder erstellst dafür eine 2. in Relation stehende Tabelle, die die Integers mit den Strings verbindet.
__________________
Bitte markiere Deinen Thread als Gelöst, sobald er es ist! Wie das gehen soll?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 14.05.08, 09:00
POZ POZ ist offline
Forum Aktivist
 
Registriert seit: 06.01.08
Beiträge: 62

Darf man Fragen in welchen tutorials ? ( wo kann an solche infos Kommen )

Danke im voraus !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 14.05.08, 12:25
TYPO3 Forum Team
Administrator
 
Registriert seit: 23.03.07
Beiträge: 444

Zitat:
Zitat von POZ Beitrag anzeigen
Darf man Fragen in welchen tutorials ? ( wo kann an solche infos Kommen )

Danke im voraus !
Du meinst an die Infos, dich ich dir gerade gegeben habe? Eher schwierig... das war mehr einfach so eine Erfahrungsantwort, daher vielleicht auch nicht der Beste Ansatz.

Grundsätzliches halt aus Programmiergrundlagebüchern oder so was Oder aus anderen Typo3 Büchern evtl.

Anonsten kenne ich eigentlich keine gescheiten Tutorials für Extension Entwicklung. Andere Ressourcen findest du im sticky thread hier im Forum.
__________________
Bitte markiere Deinen Thread als Gelöst, sobald er es ist! Wie das gehen soll?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #7  
Alt 18.05.08, 18:45
Benutzerbild von david
TYPO3 Forum Team
Moderator
 
Registriert seit: 17.07.06
Ort: München
Beiträge: 756
david eine Nachricht über Skype™ schicken

PHP-Code:
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery(
    
'tx_msjob_requierements.*,tx_msjob_status.status',
    
'tx_msjob_requierements,tx_msjob_status',
    
'tx_msjob_requierements.uid = 43 AND tx_msjob_requierements.status = tx_msjob_status.uid'
); 
So etwas findet man im Handbuch zu MySQL.
Damit hat man zwei Abfragen gleichzeitig durchgeführt.

Ergänzung:
PHP-Code:
$res $GLOBALS['TYPO3_DB']->exec_SELECTquery(
    
'tx_msjob_requierements.*,tx_msjob_status.uid AS status_uid, tx_msjob_status.status AS status',
    
'tx_msjob_requierements,tx_msjob_status',
    
'tx_msjob_requierements.uid = 43 AND tx_msjob_requierements.status = tx_msjob_status.uid'
); 
Mit dieser Abfrage hast Du auch noch die uid des Status in der Variablen status_uid der jeweiligen Tabellenzeile gespeichert und kannst sie für Abfragen verwenden.
__________________
Viele Grüße
David

TYPO3 4.1.6 | Win XP | Apache 2.0.52 | MySQL 4.0.23 | PHP 5.0.3

David Bruchmann - Mediengestaltung
www.bruchmann-web.de

Geändert von david (18.05.08 um 18:54 Uhr). Grund: Ergänzung
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eigene Datenbank Tabellen verwenden JoachimG TYPO3 4.x Backend 3 15.08.07 23:49
Daten aus Datenbank lesen jop Extension modifizieren oder neu erstellen 8 17.11.06 12:51
Datenbank tabellen durchlesen/verstehen dummerjunge TYPO3 3.x Fragen und Probleme 2 06.11.06 15:01
Lesen aus einer externen Datenbank elathan TYPO3 4.x Fragen und Probleme 2 25.10.06 18:05


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:34 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS