Abfrage verschachteln

lordofscotland

Erfahrenes Mitglied
Hallo Community,

ich möchte eine Referenzliste erstellen und habe dabei das Problem das einige Namen doppelt vorhanden sind, ich diese aber nur mit den dazu gehörigen Projekten auflisten möchte.

Beispiel:

Firma: Meier & Co
Projekt: Erstellung Homepage
Aufgabengebiet: webdesign

Projekt: Einrichtung WLAN + Netz
Aufgabengebiet: Netzwerk

So in dieser Art.

Folgenden Quellcode habe ich bereits dafür.
PHP:
<?
 include("../../php/dbconnect_inc.php");
 $sql = "SELECT distinct firma FROM ref_de order by id asc";
 $res = mysql_query($sql);
 $anz = mysql_num_rows($res);
 while($z = mysql_fetch_row($res)) {
 $z[3] = nl2br($z[3]);
 print"<td class='head' colspan='2'>$z[0]</td>
 </tr>
 <tr>
 <td width='80px'>&nbsp;</td>
 <td style='vertical-align:top' align='right'>Projekt:</td>
 <td>$z[1]</td>
 </tr>
 <tr>
 <td width='80px'>&nbsp;</td>
 <td style='vertical-align:top' align='right'>Aufgabenfeld:</td>
 <td class='aufgabe'>$z[2]</td>
 </tr>
 <tr><td>&nbsp;</td></tr>";
 }
 ?>

Mittels distinct habe ich bereits das geschafft das die Firmen so ausgegeben werden wie ich das möchte.

Hier ist das ganze als HTML-Version zu sehen

Und das ganze soll nun in PHP/MySQL realisiert werden.

Danke im Vorraus.

Schönen Sonntag

lordofscotland
 
Hi,

Ich denke Mal deine Tabelle hat 3 Spalten: Firma, Projekt, Aufgabenfeld.
In die erste Spalte kommt ganz einfach der Firmenname.
In die 2. und 3. schreibst du einfach alle Projekte und Aufgabenfelder, und zwar mit einem | getrennt. Nun kannst du beim ausgeben mittels explode() und foreach() alle ausgeben.

mfg shadow
 
Hi,

bin jetzt erst wieder dazu gekommen mich um das Problem zu kümmern, die Idee mit dem Explode klingt ja genial, nur fällt mir derzeit nicht ein wie.

Wäre es möglich mir einen Gedankenanstoss zu geben.

Schönes Woe
 
Hi,

PHP:
$temp = explode("|",$row[Projekt]);
foreach($temp as $temp2)
{
    echo $temp2;
}

Es könnte sein, dass das nicht ganz funktioniert, weil ich mir das gerade aus dem Finger gesogen hab, aber so in etwa sollte es aussehen. Das gleiche machst du dann noch mit den Aufgabenfeldern.

mfg shadow
 
Du solltes deine Db neu Design so wie das momentan ist es ein käse. Schon was von vermeidung von Redunazen gehört?

Hör auf meinen Rat und Design deine Datenbank neu dann wirste dir nacher auch viel leichter tun und auch keine Redunazen haben.

Les dich mal ein in das Thema Normalisierung von Datenbanken. Ist übrings ein Grundwissen das man haben muß wenn man einen Db entwickeln will.

Alles andere führt früher oder später in ein caos.

Mfg Splasch
 
Zurück