MySQL auslesen

bodo2005

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
333
Wie ist es möglich, dass ich verschiedene aktuellste Beiträge auslese...

D.h. es gibt 3 mit je dem gleichen Aufbau für Aktuelles, Aktionen und Termine...

Es sollen die 3 aktuellsten Beiträge ausgelesen und auf der Startseite ausgegeben werden (aus diesen 3 Tabellen die 3 aktuellsten...)

Z.B. News 1, Aktion 1, Aktion 2

Wie kann man das realisieren, wäre es möglich so abzufragen:

mysql_query("SELECT * FROM news, aktion, termin ORDER BY datum DESC LIMIT 3");

???
 
Sollen die Datensätze irgendwie verknüpft werden?
Wenn nicht solltest du 3 getrennte Querys ausführen, dann sollte es gehen :) So müssten die 3 Tabellen (afaik) genau die gleiche Struktur haben

David
 
Es sollen nur immer auf der Hauptseite die 3 aktuellsten Beiträge dargestellt werden (aus News, Aktionen und Lesenswertes)...
Es gibt 3 Tabellen, aber möchte ja nur, dass 3 Sachen ausgegeben werden und nciht 9...
Also mit dem verknüpfen der Anfrage da bekomme ich nen Fehler... :)
 
Wenn die 3 Tabellen (news, aktion, termin) in irgendweinerweise zusammenhängen, zb. durch einen Key dann geht das, allerdings bisserl anders (Stichwort WHERE und JOINs).

Ansonsten 3 getrennte sql-Abfragen, für jede tabelle 1 sql


Deine obige SQL Abfrage erzeugt ein karthesisches Produkt (alle mit allen) und ist ausserdem nicht eindeutig.

mach es deshalb am einfachsten 3mal
zb.

mysql_query("SELECT * FROM news ORDER BY datum DESC LIMIT 1");

mysql_query("SELECT * FROM aktion ORDER BY datum DESC LIMIT 1");

mysql_query("SELECT * FROM termin ORDER BY datum DESC LIMIT 1");


Das beste wäre Du postest mal einen sql-dump deiner tabellenstruktur.
 
Also die Tabelle ist folgendermaßen aufgebaut:
s. Anhang

Es sollen ja immer die aktuellsten Beiträge aus allen Bereichewn angezeigt werden, nicht jeweils der aktuellste aus einer Kategorie...
 

Anhänge

  • mysql.jpg
    mysql.jpg
    32,9 KB · Aufrufe: 207
bodo2005 schrieb:
Also die Tabelle ist folgendermaßen aufgebaut:
s. Anhang

Es sollen ja immer die aktuellsten Beiträge aus allen Bereichewn angezeigt werden, nicht jeweils der aktuellste aus einer Kategorie...
Welche der Tabellen ist so aufgebaut? Alle drei?

Mach es so, wie Relict gesagt hat, mit den Joins.
 
Hab grad keinen mysql Server zur Hand

Code:
(SELECT * FROM news
UNION
SELECT * FROM aktion
UNION
SELECT * FROM termin)
ORDER BY datum ASC LIMIT 3
David
 
bodo2005 schrieb:
Da kommt nen Fehler...
Haha bist du lustig
Was für ein Fehler? Hab das ganze nur mit MSSQL testen können, deswegen kanns sein dass es sich leicht unterscheidet.
Du brauchst nen Befehl, um mehrere Datenbanken aneinander hängen zu können.
Welche Version von MySQL verwendest du eigentlich?

David
 
Das geht in MYSQL SO nicht, genausowenig wie ein Foreign-Key.
Ist aber manchmal auch besser so. ;)
 
Zurück
Oben