Seite 1 von 1
Daten aus 2 mysql-tabellen ausgeben
Verfasst: 03.12.2003 18:20
von xnay
Ich hab da ein kleines problem. Ich hab in einer MySQL datenbank 2 tabellen. In einer sind Bandnamen (es geht um Tourdaten) und in der anderen die Termine gespeichert. Das ganze ist über einen fremdschlüssel verbunden (also jeder tourtermin hat die id der dazugehörigen Band in einer spalte gespeichert).
Jetzt möchte ich das ganze aber so ausgeben, dass oben die band steht und darunter die tourdaten. Also so:
Band 1
Daten
Daten
Daten
Band 2
Daten
Daten
Daten
usw.
...
Kann mir jemand sagen wie das geht??
Verfasst: 03.12.2003 20:35
von Pyramide
Mach zuerst eine Abfrage nach den Bandnamen und baue dann für jede Band mit Hilfe der erhaltenen Band-ID eine neue Abfrage zum Auslesen der Termine

Verfasst: 03.12.2003 20:42
von xnay
Ja, ich glaub so hab ichs eh schon mal probiert...hat aba irgendwie net so wirklich funktioniert...
Ich werds halt nochmal probieren!
Verfasst: 03.12.2003 20:51
von Pyramide
Wenn du das "irgendwie net so wirklich" jetzt noch genauer beschreibst, kann dir vielleicht sogar jemand helfen

.
Verfasst: 03.12.2003 22:26
von sierra
www.php.net
scuche dort mal nach join
Verfasst: 04.12.2003 22:12
von xnay
Pyramide hat geschrieben:Mach zuerst eine Abfrage nach den Bandnamen und baue dann für jede Band mit Hilfe der erhaltenen Band-ID eine neue Abfrage zum Auslesen der Termine

Meinst du für jede band eine neue SELECT Abfrage??
Verfasst: 04.12.2003 23:33
von Pyramide
Ja
Verfasst: 05.12.2003 18:38
von xnay
Und wären das nicht ein bissl viele abfragen, wegen geschwindigkeit und so, oder is das egal?
Verfasst: 05.12.2003 19:16
von Pyramide
Das sollte zumindest bei MySQL kein größeres Problem sein, ausser du hast sehr viele Bands mit kaum (0/1) Terminen. Überigens liest phpBB die Kategorien/Foren auf der Startseite genauso aus
Alternative wäre ein JOIN, nach Bands sortieren und dann in PHP prüfen ob sich der aktuelle Datensatz eine andere Band enthält als der vorige, wenn ja dann band-header schreiben. Aber das sieht im PHP-Code sicher viel unübersichtlicher aus.
Verfasst: 06.12.2003 23:57
von King Crusty
Code: Alles auswählen
SELECT kategorie.typ, hersteller.name, produkte.vk, produkte.artnr, kaufv.datum
FROM kategorie, hersteller, produkte, kaufv, kaufl
WHERE (
produkte.produkt_id = kaufl.produkt_id
) AND (
produkte.kategorie_id = kategorie.kategorie_id
) AND (
produkte.hersteller_id = hersteller.hersteller_id
) AND (
kaufl.kaufl_id = kaufv.kaufv_id
)
LIMIT 0 , 30
ich hatte mal selbiges Problem und habs über Fremdschlüsselvergleiche gelöst...aber wie gesagt du kannst es auch mit JOIN oder CREATE VIEW machen...