also warum nicht ans php Brett? Weil showcolumns (habe ich
mittlerweile rausgefunden) ein mysql Befehl ist.
Aber deine Frage ging eindeutig in die Richtung: Ich krieg was aus mysql und weiß nicht, wie ich es in PHP verarbeiten soll.
Und die Idee oben funktioniert uu.
Aber bei Land gibts Name und id. Bei fahrzeuge name, id,
leistung,hersteller,…
Herstelle rbei Land ist doch sinnfrei.
Dann hast du meine Idee der einheitlichen Konfig-Tabelle scheinbar nicht verstanden. Und offenbar sind es auch keine „Konfigurationsdaten“, sondern einfach Tabellen mit Fremdschlüssel, wonach mein Beispiel dennoch nicht trägt.
Ich habe es nun zT lösen können:
Die Spaltennamen in ein Array. Das Array mit foreach
druchlaufen und per sql Abgefragt:
Warum tust du das? Warum willst du auf Biegen und Brechen show columns machen? Ich habe doch ein Beispiel geliefert, in dem du assoziative Arrays zurückbekommst. Wenn du nicht weißt, was das ist: http://bit.ly/1pTy7tf
Das habe ich in meinem Beispiel extra herausgestellt. Dein Ansatz ist Murks, wie du ja selbst sagst. Hast du mein Beispiel mal probiert und dir das Ergebnis per var_dump() angesehen?
$sql_spaltenzeigen=sprintf(„show columns from
%s“,mysql_real_escape_string($wert));
// echo $sql_ausgabe."
„;
// echo $sql_spaltenzeigen.“
";
$ms_spaltenanzeigen=mysql_query($sql_spaltenzeigen);
$feldnamen = array();
if($ms_spaltenanzeigen != false)
{
while($liste = mysql_fetch_row($ms_spaltenanzeigen))
{
$feldnamen[$i] = $liste[0];
$i++;
}
}
else die(‚Fehler bei der Datenbankabfrage‘);
//echo "
Größe".count($feldnamen);
foreach($feldnamen as $werte)
{
$sql_ausgabe=sprintf(„select * from
%s“,mysql_real_escape_string($wert));
//echo $sql_ausgabe;
$ms_ausgabe=mysql_query($sql_ausgabe);
while($ausgabe_werte=mysql_fetch_assoc($ms_ausgabe))
Glaubst du, dass irgendjemand Lust hat, dieses Gewirre zu lesen? Benutze bitte den pre-Knopf für Codeschnipsel.
Problem nun nur noch dass alles transponiert rauskommt. Also
Murks! Dein Pferd war schon bei der letzten Anfrage tot. Wenn ein Pferd tot ist, steige ab. Ein totes Pferd läuft nicht schneller, wenn du es härter reitest.
Die Idee ist halt, dass man irgendwann mal eine weitere
Tabelle hinzu packt und dann nur den Namen ins Array packen
muss oder sogar eine Tabelle mirt den Tabellennamen macht…
Auch das habe ich verstanden und schon meine Meinung dazu abgegeben. Nehmen wir mal an, alles läuft gut und du kriegst deine Datenstruktur auf die Kette und kommst endlich dazu, das ganze auf der Webseite darzustellen. Wie gehst du denn DANN damit um, dass die eine Information aus 5 Feldern und die andere Information nur aus 2 besteht? Das bleibt in jedem Fall ein look&feel-Disaster, von Fehlerbehandlung ganz zu schweigen, sowas geht in den seltensten Fällen absolut generisch.
Und hey… Wenn da mal ne Tabelle dazukommt, dann musst du für diese eh größere Anpassungen an deinem Quelltext machen, da ist so eine Konfiguration verhältnismäßig schnell zusammengezimmert.
Wenn wir jetzt annehmen, du brauchst für so eine einfache Konfigurationsseite 1h pro Tabelle, dann rechne mal dagegen, wieviel Zeit du schon JETZT auf deine generische Lösung verwendet hast. Da kannst du mutmaßlich einige Erweiterungen an deiner Konfigurationsseite machen, bevor sich das amortisiert.
Und zudem wird dein Code lesbar und nachvollziehbar und damit wartbar. Ich möchte an dieser Stelle bitte auf das KISS-Prinzip verweisen.
Günther
Stern? Bitte gern.