Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 29.03.08, 21:56
Forum Zuschauer
 
Registriert seit: 16.12.07
Beiträge: 7

Joint SQL Anfragen in TYPO3 Extensions


Hallo!

In einem Extensionprojekt habe ich eine Datenbankabfrage in mehrere Schritten durchgeführt anstatt eine einzige SQL-Abfrage zu verwenden. Das ist nicht sehr effektiv und kostet Performance, leider ist es mir nicht gelungen an der TYPO3-Datenbank eine richtige joint SQL Anfrage hinzubekommen. Welche Erfahrungen habt Ihr mit diesem Thema gemacht?

Hier noch ein Beispiel für eine Abfrage, die bei mir nicht funktioniert hat:

PHP-Code:
$where='i.index_name=test AND t.element1=1 AND t.element2=5'
$order='t.element1';
$table='tx_myextension_table t, tx_myextension_index i';
$joint='t.pred_stock_id=i.uid';
$select='t.element1, t.element2, t.element3, i.index_name';
$query 'SELECT '.$select.' FROM '.$table.' INNER JOIN '.$join.' WHERE '.$where.' ORDER BY '.$order;
$res mysql(TYPO3_db,$query); [/LEFT
Vielen Dank für Eure Hilfe!

Geändert von typostox (30.03.08 um 21:36 Uhr).
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 30.03.08, 19:58
Benutzerbild von maxhb
TYPO3 Forum Team
Moderator
 
Registriert seit: 19.08.04
Ort: Bremen
Alter: 37
Beiträge: 1.547

Hi!
Tipp 1: Solange $join = '' wird das nichts.
Tipp 2: Schau dir mal die TYPO3-DB-API an: TYPO3: t3lib_DB Class Reference

CU
maxhb
__________________
FreeBSD || MySQL 5.x || TYPO3 3.6 - 4.2

Meine Stadt, meine Firma, mein Redaktionssystem.
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 31.03.08, 11:09
Forum Stammgast
 
Registriert seit: 02.01.08
Alter: 28
Beiträge: 114

hmm... vielleicht ist es nur ein schreibfehler... erst heisst deine Variable $joint und du versuchst in der SQL-Anweisung eine Variable $join anzusprechen....
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 01.04.08, 00:50
Forum Zuschauer
 
Registriert seit: 16.12.07
Beiträge: 7

Es hat geklappt!


Hallo maxhb

Es hat dann doch endlich geklappt! Danke für die Hilfe!

Zunächst war die TYPO3-DB-API TYPO3: t3lib_DB Class Reference
ein guter Tipp. Dort finden sich einige hilfreiche Ansätze.
Der erste ist die Funktion SELECT_mm_query(..) mit der man tatsächlich joint queries über mehrere Tabellen machen kann. Ich habe nach einem Beispiel für den Einsatz dieser Funktion gesucht, habe aber nur eine sehr allgemeine Version gefunden.

Die Lösung für mein Problem war in einer Forumfrage zu SELECT_mm_query zu finden:
PHP-Code:
 $query = ('SELECT t2.uid_local, t3.aname 
 FROM tx_mstreferenz_referenz t1,tx_mstreferenz_referenz_ranlage_mm  t2, tx_mstreferenz_anlage t3 
 WHERE t1.pid ='
.intval($GLOBALS["TSFE"]->id).' AND t1.uid = t2.uid_local AND t2.uid_foreign = t3.uid');     

$res =$GLOBALS['TYPO3_DB']->sql_query($query);

//    debug($GLOBALS['TYPO3_DB']->sql_error(),'sql_error');
        
$out = array();
        while(
$row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
            
$out[]=$row;
        }
    
$GLOBALS['TYPO3_DB']->sql_free_result($res); 
Was mir am meisten geholfen hat war die debug-Funktion $GLOBALS['TYPO3_DB']->sql_error() die mir endlich gezeigt hat was mit der SQL-Anfrage falsch läuft.

Viele Grüße

Typostox
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

Lesezeichen

Themen-Optionen
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 hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-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
MySQL 6.0.2 Alpha und Typo3 Extensions nevbear666 TYPO3 4.x Installation und Updates 0 11.02.08 11:02
kostenpflichtige extensions bei typo3 donnerwetter TYPO3 4.x Fragen und Probleme 5 07.08.07 13:22
Typo3 Extensions? Module? Componenten? cengokay TYPO3 4.x Fragen und Probleme 3 01.12.06 12:35
Online-Workshop TYPO3 Extensions akademie Forum Bar 0 10.08.06 16:48
Wie Extensions aus Typo3 Repository installieren? abolutenoob Alle anderen Extensions 5 08.12.05 23:26


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0