EKKi: Zwei SQL-Querys ineinander verschachteln

Beitrag lesen

Mahlzeit Paco,

Für das Sortieren ist das DBMS zuständig. Die Programmiersprache sollte dann (eigentlich) nur noch Zeile für Zeile untereinander schreiben.
Ja, das seh ich ja auch so. Aber das Prinzip wie ich in der ersten schleife die Projekte abarbeite und dann für jedes Projekt die User mittels einer weiteren Schleife will mir nicht in den Schädel.

Wieso in einer weiteren Schleife? Welches Datenbanksystem verwendest Du (das hast Du immer noch nicht gesagt!)? Eigentlich gibt es in jedem mir bekannten Funktionen zum Gruppieren von Ergebnissen ...

$query = "SELECT projekt, UserName
            FROM
                projekte
            LEFT JOIN
                dispo_tec
            ON
                projekte.projekt = dispo_tec.pr_id
            LEFT JOIN
                users
            ON
                dispo_tec.user_id = users.UserID
            ";

Ein kleiner Tipp für Dich für die Zukunft: die Benennung Deiner Tabellen und Spalten ist grauenhaft! Verwende eine einheitliche - ansonsten hast Du irgendwann später, wenn Du Deine Tabellen bzw. Skripte nach einer gewissen Zeit wieder anfasst absolut keine Orientierung mehr.

Entweder deutsche Namen oder englische - aber keinen Mischmasch! Entweder Mixed-Case-Schreibung oder Trennung der Wortteile durch Unterstriche - aber keinen Mischmasch! Foreign-Key-Felder würde ich einheitlich genau so benennen, wie die Tabelle heißt, auf die sie referenzieren!

$sql = mysql_query($query) or die(mysql_error());

Siehe dazu Zitat 1282. Was passiert, wenn die Abfrage zwar fehlerfrei klappt, aber die Ergebnismenge leer ist? Du solltest die Rückgabewerte der von Dir aufgerufenen Funktionen auch auswerten. Darüber hinaus ist der Variablenname "$sql" äußerst ungeeignet - oder enthält die Variable etwa SQL? Nein, sie enthält ein Ergebnis einer Datenbankabfrage.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|