MySQL auslesen

bodo2005

Lt. Junior Grade
Dabei seit
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");

???
 

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
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
 

bodo2005

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Okt. 2005
Beiträge
333
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... :)
 

Relict

Admiral
Dabei seit
Juni 2005
Beiträge
7.417
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.
 

bodo2005

Lt. Junior Grade
Ersteller dieses Themas
Dabei seit
Okt. 2005
Beiträge
333
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

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
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
 

davidbaumann

Commodore
Dabei seit
Aug. 2004
Beiträge
4.864
Zitat von bodo2005:
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
 

Relict

Admiral
Dabei seit
Juni 2005
Beiträge
7.417
Das geht in MYSQL SO nicht, genausowenig wie ein Foreign-Key.
Ist aber manchmal auch besser so. ;)
 
Top