Zum Inhalt springen

Inhalte aus Datenbank auslesen

Erstellt am 13. November 2012 · 7 Antworten · letzte Antwort am 13. November 2012

Tags: PHP, Datenbank, Frage

amm0 ·

Servus,

ich hab im moment Probleme Inhalte aus meiner Datenbank in meiner Extension ausgeben zu lassen.

Ich habe es mit folgender Zeile probiert:

$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery('email', 'table');

Da bekomm ich aber nur ne "ID" zurückgeliefert ?!

ich will z.b, dass er mir alle email-adressen ausgibt, die vorhanden sind.

könnt ihr mir dazu ein kleines beispiel vorgeben ?

Bin zwischenzeitlich auch mal auf die page hier gestoßen ( http://www.typo3-lisardo.de/home/blog-post/2010/09/01/datenbankabfragen-in-extensions.html )
aber kann damit recht wenig anfangen, da es doch n bissi komplizierter ist als gedacht.

Muss ich die komplette Parameterliste benutzen bei:

$GLOBALS['TYPO3_DB']->exec_SELECTquery(
$select_fields,
$from_table,
$where_clause,
$groupBy='',
$orderBy='',
$limit=''
)

oder kann ich es auch einfach so schreiben :

$GLOBALS['TYPO3_DB']->exec_SELECTquery(
$select_fields,
$from_table,
$where_clause,
)

stehe gerade bissi arg aufm schlauch #angry#

Norman2k ·

Die API ist dein Freund:

exec_SELECTquery
sql_fetch_assoc

Da siehst du schon mal, welche Parameter zwingend angegeben werden müssen und welche optional sind und auch was du zurück bekommst.
Wie auch bei der normalen PHP-Funktion mysql_query bekommst du nur eine Ergebnismenge (resource) zurück, die du dann weiter verarbeiten musst, z.B. mit sql_fetch_assoc.

<?php
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($select, $from, $where, $group, $order, $limit);
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
 $content .= $row['email'];
}
?>
amm0 ·

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('tstamp', 'tx_reportingsys_Reporting_Data');
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$content .= $row['email'];
}

wenn ich das so schreib, kommt bei mir aber keine ausgabe ?!

Norman2k ·

1. Ich habe dir den Link zur API gepostet, lesen und verstehen (Stichwort Pflichtangaben/Optionale Angaben)
2. Wenn du dir nur tstamp holst, wirst du wohl kaum auf email zugreifen können

amm0 ·

ok im prinzip kann ich jetzt daten auslesen. Im moment geb ich aber alles email-adressen aus meiner datenbank aus.

Ich möchte aber den kompletten Datensatz von einem user haben (name,email usw.)

edit://
bzw wie mach ich das mit dem "where" wenn ich z.b. sagen will "where email = test@gmail.com" ?! da liegt gerade mein problem in der syntax glaub ich

Norman2k ·

Das hat hier nichts mehr mit TYPO3 zu tun sondern sind PHP und SQL Grundlagen. Vielleicht findet sich jemand anderes der dir einen Grundlagenkurs gibt, ich hab auf jeden Fall weder Lust noch Zeit dafür.