Mailinglisten-Archive |
Sven Eichler schrieb: >>> Namen: Alfons, Müller, Wehrt >>> Das Menü wäre dann (eckige Klammern symbolisieren die anklickbaren >>> Links): >>> <A>BCDEFGHIJKL<M>NOPQRSTUV<W>XYZ >>> An der ganzen Sache stört mich aber die Sache mit der if-Abfrage und >>> daraus die Links zu erstellen. Das muss doch auch irgendwie einfacher >>> gehen, weil das ist mir auf Dauer zu unwartbar. >> Falls ich dich richtig verstanden habe, dann sieht du ein Problem >> darin, für jeden Buchstaben des Alphabets eine eigene if-Abfrage >> schreiben zu müssen? >> >> Etwas Code wäre hier hilfreich gewesen. > > Der bisherige Code besteht aus einer if-Zeile pro Buchstabe. Blanker Horror! > >> Baue ein Array aus den Letters deines Query-Results >> $letters = array('a', 'm', 'w'); >> >> $alphabet = 'abcdefghijklmnopqrstuvwxyz'; >> $menu = ''; >> for ( $i=0; $i<strlen($alphabet); $i++ ) { >> $letter = substr($alphabet, $i, 1); >> if ( in_array($letter, $letters) ) { >> $menu .= '<a href="#a">'.strtoupper($letter).'</a>'; >> } >> else { >> $menu .= strtoupper($letter); >> } >> } > > Das sieht ersteinmal gut aus. > > $alphabet würd ich auch zu einem array machen. Dann würde für $letter ein > $alphabet[$i] reichen (ohne substr). > ... und dann würde die for-Schleife auch etwas anders ausfallen ... werd die > Gendanken damit mal weiter verfolgen. es ginge auch $alphabet{$i}, bei einem String oder eben wie schon gesagt ord() und char(), dann brauchst $alphabet überhaupt nicht -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive