Hallo,
habe mal wieder ein Problem mit den Arrays....
Mache eine Datenbankabfrage (MySql) nach einem Feld, dass leider mehrere Einträge haben kann (daran kann ich nicts ändern, habe es schon mehrfach angesprochen aber das soll so bleiben). Das Ergebnis packe ic in ein Array und dieses möchte alphabetisch sortieren. Problem ist allerdings, dass bei Sortieren nach Groß und Kleinbuchstaben unterschieden wird (also wenn ein Name mit kleinem a anfängt wird der ans Ende der Liste geschrieben) und auch die Sonderzeichen Ä Ü Ö È etc. nicht bei den jeweiligen Buchstaben stehen, sondern als eigene Buchstaben am Ende der Liste aufgeführt werden.
Welche Parameter muß ich angeben, damit das richtig sortiert wird?
Hier etwas verkürzt das Beispiel zum besseren Verständnis
$query="select name from tabelle order by name";
$erg=mysql_query($query);
if(!erg)
die("Abfrage klappt nicht");
else
{
while($aus=mysql_fetch_array($erg))
{
$titel=explode("/",$aus["name"]);
foreach($titel as $inhalt=>$wert)
{
$wert=trim($wert);
if(isset($ausgabe[$wert]))
{
$ausgabe[$wert][]=$zwischen;
}
else
{
$ausgabe[$wert][]=$zwischen;
}
}
}
ksort($ausgabe);
}
$xyz=1;
foreach($ausgabe as $inhalt=>$wert)
{
$abc=substr("$inhalt",0,1);
if($abc!=$xyz)
{
echo "<br><br><b>$abc</b><br>";
$xyz=$abc;
}
echo "<b>$inhalt</b> - ";
}
Mmmh nicht sehr elegant ich weiß...
Ich möchte eine Liste haben wie
A
Älster
Albert
armin
àzcok
B
Berta
Brunhilde
bussar
...
aber nach dem obigen Testen schaut die LIste so aus:
A
Albert
B
Berta
Brunhilde
a
armin
b
bussar
à
àzcok
Danke und Grüße,
Moses