strolch_007
Mitglied
hallo,
ich habe eine Tabelle (MYSQL) Blumen (VARCHAR) mit z.b folgender Zahlenfolge: 2,4,7
2=Rosen, 4=Nelken, 7=Tulpen.
Eingegeben wird das ganze durch $_POST in der Form
Ausgelesen wird das ganze dann mit
Ergibt dann wieder die Zeichenfolge 2,4,7
Nun möchte ich aber mit dieser Zeichenfolge 2,4,7 per SELECT....JOIN ...eine zweite Tabelle "B_Namen" aufrufen die die Felder number (enthhält z.B. die Zahl 2) und unter name in der gleichen Tabelle nun die Bezeichnung "Rosen"..
Ich habe bereits einige Tage mit JOIN, serialiize, arrays und allem rumprobiert. komme aber nicht auf eine Lösung wie ich aus der zweiten Tabelle die Bezeichnung auslesen kann und dann eben nicht mehr 2,4,7 als Ausgabe, sondern die Blumennamen bekomme.
Das Auslesen bleibt bei mir immer bei der ersten Zahl (also 2) hängen. Weiter mag er einfach nicht gehen
Hier noch so ein Versuch mit foreach. Da bekomme ich komischerweise immer (für 2 ein Array für 4 auch eins und für 7 auch noch mal eins) ausgegeben. Allerdings dann die richtige Zuordnung. Aber was will ich dann mit 6, 8 10 oder mehr Arrays anfangen? Igrendwo hab ich da einen mächtigen Wurm im Gebälk. komm aber einfach nicht weiter.
Die Zeichenfolge 2,4,7 ist nicht als Array abgespeichert. Serialize will ich nicht benutzen!
Array aus SELECT "auffüllen" hab ich auch ohne Erfolg probiert.
$row = mysql_fetch_array($result);
$blumen = array($row['name']);
Wer weiße hier eine Lösung?
lg
strolch_007
PS: Das Thema Normalisierung kenne ich einigermaßen. Es sollte aber trotzdem wie oben beschrieben irgendwann mal funktionieren
ich habe eine Tabelle (MYSQL) Blumen (VARCHAR) mit z.b folgender Zahlenfolge: 2,4,7
2=Rosen, 4=Nelken, 7=Tulpen.
Eingegeben wird das ganze durch $_POST in der Form
PHP:
echo $input_td_check . "name=\"blumen[]\" ";
echo "value=\"2\"";
if (is_array($blumen) && in_array("2", $blumen) ) echo $checked_01;
echo " />" . $td002;
Ausgelesen wird das ganze dann mit
PHP:
$sql = "SELECT CAST(blumen AS DECIMAL),
blumen
FROM
xxxxxxxx
";
Ergibt dann wieder die Zeichenfolge 2,4,7
Nun möchte ich aber mit dieser Zeichenfolge 2,4,7 per SELECT....JOIN ...eine zweite Tabelle "B_Namen" aufrufen die die Felder number (enthhält z.B. die Zahl 2) und unter name in der gleichen Tabelle nun die Bezeichnung "Rosen"..
Ich habe bereits einige Tage mit JOIN, serialiize, arrays und allem rumprobiert. komme aber nicht auf eine Lösung wie ich aus der zweiten Tabelle die Bezeichnung auslesen kann und dann eben nicht mehr 2,4,7 als Ausgabe, sondern die Blumennamen bekomme.
Das Auslesen bleibt bei mir immer bei der ersten Zahl (also 2) hängen. Weiter mag er einfach nicht gehen
Hier noch so ein Versuch mit foreach. Da bekomme ich komischerweise immer (für 2 ein Array für 4 auch eins und für 7 auch noch mal eins) ausgegeben. Allerdings dann die richtige Zuordnung. Aber was will ich dann mit 6, 8 10 oder mehr Arrays anfangen? Igrendwo hab ich da einen mächtigen Wurm im Gebälk. komm aber einfach nicht weiter.
PHP:
foreach($blumen as $value) {
$sql = "SELECT
number,
name
FROM
xxxxxxxxxxxx
WHERE
number = '".$value."'
";
$ergeb_blumen = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
}
Die Zeichenfolge 2,4,7 ist nicht als Array abgespeichert. Serialize will ich nicht benutzen!
Array aus SELECT "auffüllen" hab ich auch ohne Erfolg probiert.
$row = mysql_fetch_array($result);
$blumen = array($row['name']);
Wer weiße hier eine Lösung?
lg
strolch_007
PS: Das Thema Normalisierung kenne ich einigermaßen. Es sollte aber trotzdem wie oben beschrieben irgendwann mal funktionieren
Zuletzt bearbeitet: