Moin moin, ich hab lange gesucht und diesen Beitrag hier als besten Ansatz herausgesucht, allerdings immer noch keinen Lösungsweg gefunden.
Ich habe ein Datenbank für Farbwerte mit verschiedenen Tabellen. In der Haupttabelle sind jeweils alle möglichen Kombinationen gelistet, mit dem Wert "id" und dem dazugehörigen Farbnamen (farbname).
In allen anderen Tabellen wird die Farbe jeweils als "ral_id" deklariert und nur als Nummer ausgegeben, was sehr blöd ist. Ich benötige nun bei der Abfrage der anderen Tabellen zusätzlich die Ausgabe der entsprechend zugewiesenen ID mit dem Farbnamen als Wort, denn jede Farbe hat auch einen Wortlaut zugewiesen, und id und ral_id sind die selben Werte.
Warum das jedoch nicht in einer einzigen Tabelle steht, ist nicht zu erkennen. Möglicherweise hat das mal jemand hinzugefriemelt...
Ich habe hier mal die beiden Einzelabfragen in eine Datei geklatscht, um zu zeigen was ich meine.
PHP-Code:
<?php
#Abfrage Nummer1
$abfrage_1 = 'SELECT id, farbname FROM hauptfarben';
$ergebnis_1 = mysql_query($abfrage_1) or die( mysql_error() );
while($row_1 = mysql_fetch_array($ergebnis_1))
#Ausgabe des ersten Arrays zur Probe
{
echo "Farbname : ".$row_1['farbname'].;
echo "Farb-ID : ".$row_1['id'].;
}
#Abfrage Nummer2
$abfrage_2 = 'SELECT ral_id, anteil_cyan, anteil_magenta, anteil_yellow FROM farbvarianten WHERE anteil_cyan IS NOT NULL AND anteil_cyan != "" ';
$ergebnis_2 = mysql_query($abfrage_2) or die( mysql_error() );
while($row_2 = mysql_fetch_array($ergebnis_2))
#Ausgabe des zweiten Arrays zur Probe
{
echo "Farb-ID : ".$row_2['ral_id'].;
echo "Anteil Cyan : ".$row_2['anteil_cyan'].;
echo "Anteil Magenta: ".$row_2['anteil_magenta'].;
echo "Anteil Yellow : ".$row_2['anteil_yellow'].;
}
?>
Ist denn der Denkansatz überhaupt richtig, dass man die entsprechende Variable des zweiten Arrays (ral-id) einfach mit der des ersten überschreiben kann? Schätze ja, doch wie genau geht das?
Den Codeschnipsel umstricken hat leider nicht geklappt. Ich bekomme einfach nicht beide Arrays überein und schon gar nicht den Wert der ID als Wort zusätzlich zur ral_id mit ausgegeben.
Auch bin ich mir ncht ganz sicher bezüglich der Abfrage, wäre mysql_fetch_assoc nicht einfacher? Die Beispiele auf php.net sind auch gleich wieder um einiges zu groß für mein Grundwissen. Kann hier irgendwer helfen?
Thx Franky