URL: https://www.overclockers.at/coding-stuff/verschachtelte_schleife_80911/page_1 - zur Vollversion wechseln!
Ich habe ein Problem ich möchte eine mysql datenbank auslesen und muss aber von der reihenfolge zuerst eine teil von der ersten tabelle dann einen teil auf einer zweiten und dann einen zweiten teil aus der ersten tabelle auslesen. aber das problem ist das ich das mehr als einmal machen muss und für eine unbestimmte zahl von einträgen!
hat wer einen Tip für mich? ich bin ein bisschen planlos!
MFG Oli 
gib konkrete problemstellung an. dann isses für alle leichter.
das musst du genauer erklären - welche tabellen - welche daten möchtest du genau wozu auslesen?
in welcher Umgebung (C/php/...) willst du die Daten auslesen?
edit: hab zuerst mysql mit oracle verwechselt 
bin mir ziehmlich sicher, dass man deine problemstellung mittels einer wohldurchdachten mysql-abfrage lösen kann - alles andere wär' von der performance-seite gesehn auch schwachsinn 
viele die an mich solche (ähnlichen) fragen herangetragen haben, bzw dessen code ich gesehen habe, hätten das selbe mit wenigen wohldurchdachten sql-anfragen lösen können.
mit einer mengen-orientierten sprache wie sql lassen sich viele sachen meist leichter lösen, und laufen schneller am server, da 1) die daten nicht übertragen werden müssen 2) der query-optimierer einblicke in die physikalische datenhaltung hat.
beispiel für ein join über 3 tabellen:
(namen sind extra-sprechend gewählt, und entsprechen daher keiner konvention)
TABELLE "Schueler"
- schuelerNr
- vorname
- nachname
- geschlecht
- svnr
- klassenbezeichnung
TABELLE "Klasse"
- Klassenbezeichnung
- Raum
- Klassenvorstand
TABELLE "Lehrer"
- Lehrerkuerzel
- vorname
- nachname
- lehrerzimmer
- geschlecht
Beispiel:
Alle Schüler die Lehrer "XYZ" als Klassenvorstand haben (Lehrer kann in mehreren Klassen Vorstand sein).
SELECT s.vorname,s.nachname
FROM schueler s, klasse k, lehrer l
WHERE s.klassenbezeichnung=k.klassenbezeichnung AND k.klassenvostand=l.lehrerkuerzel AND l.nachname='XYZ';
Ich nehm mal an, dass Oli200 schon die SQL-Grundlagen kann 
lustig wirds allerdings, wennst >3 komplexe sub-selects verschachteln musst 
btw: ich persönlich find den Threadtitle unpassend ....
ich will in Php meine daten für die homepage auslesen!
ich möchte ein Menü machen! mit tabellen! ich hab mir das so gedacht das ich das so mache das ich zuerst den titel für die tabelle aus der datenbank auslese und dann die menüpunkte aus einer anderen tabelle der datenbank auslesen! da hab ich jetzt keine ahnung wie ich das machen soll oder ob ich das überhaupt so machen soll! und dass soll dann halt für mehrere tabellen für das menü funktionieren!
ich würds in eine Tabelle haun und und eine hirachie anlegen (id, level, parent) und damit kannst dann alles in einer Tabelle verwalten, was nicht nur schneller, sondern auch einfacher geht.
wie mach ich das?
2 möglichkeiten:
tabelle menu:
id, data [zB name, link, farbe,...], parent
oder
tabelle menu:
id, data [zB name, link, farbe,...]
tabelle references:
id, id_parent, id_child
in beiden fällen kannst eine baumstruktur abbilden.
ups.... level hät noch weggehört.
es reicht id und parent.
damit hat jedes Element ein übergeordnetes und du kommst wieder auf eine 1:n Beziehung, wie es bei einem Menü mit Untermenü auch sein sollte.
wie du dann aus den Daten deine HTML-Struktur gewinnst, ist dir überlassen. Dazu hast du außerdem noch zu wenig Infos über das Menü-Layout gegeben.
zuerst wollt ich ein etwas komplexeres Verfahren angeben, aber um das zu erklären fehlt mir jetzt die Zeit.
bei oracle gibts das sogenante Tree Walking, bei der quasi die rekursion der auflösung der hierarchischen struktur einer tabelle am server stattfindet. zusätzlich gibt es pseudo-variablen die zb. die tiefe jedes elemens beinhalten (usw).
nützliches feature (das aber auch seine einschränkungen hat)
http://www.josephfeller.com/teachin...2/mcavoy-11.pdf
leider gehts um mysql ...Zitat von atroxbei oracle gibts das sogenante [...]
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026