hallo,
jemand dabei an diesem schönen tag?
folgender code liest begriffe aus dem db-feld 'key_words'.
beispiel:
1. feld: test1,test2,test3
2. feld: test4,test5,test1,test2,test7,test3
3. feld: test6,test2,test4,
das array '$alle' enhält wie gewünscht: 'test1,test2,test3,test4,test5,test6,test7',
und zwar jeden eintrag nur einmal (rohstoff für ein dropdownmenu).
leider klappt das nur mit 6 begriffen pro db-feld.
das ganze sollte auch funktionieren mit einer nicht definierten anzahl von begriffen je db-feld.
in feld1 stehen zb. 2 begriffe, in feld2 9 begiffe etc.
man könnte zwar noch mehr '$part[$i]' reinschreiben und die abbruchbedingung in der for-schleife ('6') einfach auf einen relativ hohen wert setzen, aber das müsste doch auch eleganter gehen?
wie könnte man das angehen?
jemand dabei an diesem schönen tag?
folgender code liest begriffe aus dem db-feld 'key_words'.
beispiel:
1. feld: test1,test2,test3
2. feld: test4,test5,test1,test2,test7,test3
3. feld: test6,test2,test4,
PHP-Code:
$alle = array();
$res = mysql_query("SELECT key_words FROM ph_photos");
while ($wert = mysql_fetch_row($res))
{
list($part[1],$part[2],$part[3],$part[4],$part[5],$part[6]) = explode(',',$wert[0]);
for ($i=1; $i < 6; $i++)
{
if (!in_array($part[$i],$alle) AND !empty($part[$i])) { array_push($alle,$part[$i]); }
}
}
sort($alle);
und zwar jeden eintrag nur einmal (rohstoff für ein dropdownmenu).
leider klappt das nur mit 6 begriffen pro db-feld.
das ganze sollte auch funktionieren mit einer nicht definierten anzahl von begriffen je db-feld.
in feld1 stehen zb. 2 begriffe, in feld2 9 begiffe etc.
man könnte zwar noch mehr '$part[$i]' reinschreiben und die abbruchbedingung in der for-schleife ('6') einfach auf einen relativ hohen wert setzen, aber das müsste doch auch eleganter gehen?
wie könnte man das angehen?
Kommentar