Hallo,
ich möchte gerne eine dynamische Matrix aus einer Datenbank generieren.
Dabei soll zuerst "DISTINCT" ausgelesen werden für wieviele Typen es etwas von einer Marke gibt und dann eine Übersicht erstellt werden.
Ungefähr so:
Das Ergebnis soll ungefähr wie folgt aussehen:
Für Sockel "A" wurde gefunden:
Marke/Chip |KT 266 | KT 266A | KT333 | KT400
-----------------------------------------------------------
Asus | ja | ja | ja | ja |
ECS | ja | nein | nein | ja |
Epox | nein | ja | ja | ja |
Gigabyte | nein | nein | ja | ja |
Ich habe folgenden Codeansatz, der nicht schön ist aber soweit funktioniert, bis auf ein Problem, wenn ich z.B. keinen "KT266A" finde
für ECS, dann rutscht er mir eine Spalte nach links.
Ich müsste also irgendwie das Array von allen Typen die gefunden wurden, mit dem aktuellen Hersteller vergleichen und dann wenn er es nicht findet ein "nein" in die <td> schreiben. Ich bekomme das nicht hin mit dem Arrays vergleichen.
Habe folgenden Codeansatz, der ziemlich "wild" ist:
thx 4 all help !
ich möchte gerne eine dynamische Matrix aus einer Datenbank generieren.
Dabei soll zuerst "DISTINCT" ausgelesen werden für wieviele Typen es etwas von einer Marke gibt und dann eine Übersicht erstellt werden.
Ungefähr so:
Das Ergebnis soll ungefähr wie folgt aussehen:
Für Sockel "A" wurde gefunden:
Marke/Chip |KT 266 | KT 266A | KT333 | KT400
-----------------------------------------------------------
Asus | ja | ja | ja | ja |
ECS | ja | nein | nein | ja |
Epox | nein | ja | ja | ja |
Gigabyte | nein | nein | ja | ja |
Ich habe folgenden Codeansatz, der nicht schön ist aber soweit funktioniert, bis auf ein Problem, wenn ich z.B. keinen "KT266A" finde
für ECS, dann rutscht er mir eine Spalte nach links.
Ich müsste also irgendwie das Array von allen Typen die gefunden wurden, mit dem aktuellen Hersteller vergleichen und dann wenn er es nicht findet ein "nein" in die <td> schreiben. Ich bekomme das nicht hin mit dem Arrays vergleichen.
Habe folgenden Codeansatz, der ziemlich "wild" ist:
Code:
<? include ('dbconfig.php'); if (!$verbindung) { echo "Keine Verbindung zur Datenbank möglich!\n"; exit; } if (isset($AH_Wahl) && $AH_Wahl !="" ) { $abfrage1 = "SELECT DISTINCT AT from auspuffanlage WHERE AH = '$AH_Wahl' ORDER BY AT"; $abfrage2 = "SELECT DISTINCT MM from auspuffanlage WHERE AH = '$AH_Wahl' ORDER BY MM"; $tabellenkopf = mysql_db_query($db,$abfrage1,$verbindung); $tabellenmarke = mysql_db_query($db,$abfrage2,$verbindung); $test_ob_leer = mysql_db_query($db,$abfrage1,$verbindung); if (mysql_fetch_row($test_ob_leer)==0) { echo "Von Hersteller <b>\"$AH_Wahl\"</b> leider keine Anlage gefunden."; mysql_close($verbindung); } else { echo "Matrix für Hersteller $AH_Wahl:<br>"; echo "<table border=\"1\" width=\"594\"><tr><td align = \"center\">Marke</td>"; while ($kopf = mysql_fetch_array($tabellenkopf)) { echo "<td align=\"center\">$kopf[AT]</td>"; }echo "</tr>"; while ($marke = mysql_fetch_array($tabellenmarke)) { echo "<tr><td align=\"center\">$marke[MM]</td>"; $abfrage3 = "SELECT DISTINCT AT from auspuffanlage WHERE AH = '$AH_Wahl' and MM ='$marke[MM]' ORDER BY AT"; $tabelleninhalt = mysql_db_query($db,$abfrage3,$verbindung); while ($vergleich = mysql_fetch_array($tabellenkopf)) {//vergleich echo "$vergleich[AT]"; echo "$inhalt[AT]"; $inhalt = mysql_fetch_array($tabelleninhalt); if ($vergleich[AT] == $inhalt[AT]) { echo "<td>$inhalt[AT]</td>"; } else { echo "<td>x</td>"; } }//Vergleich echo "</tr>"; } } echo "</tr>"; echo "</tr></table>"; }?>
Kommentar