alphabetische sortierung
zoidberg
- perl
hallo leute,
ich hab ein seltsames problem, das mir den schlaf raubt:
ich lese mit perl/DRO eine mysql-datenbank aus und stelle die ergebnisse via perl-cgi als webseite dar. eine tabelle enthält namen von bands, unter anderem den eintrag 'Ärzte, die'. die bandliste soll bei der ausgabe alphabetisch geordnet sein und die ärzte sollen unter 'a' erscheinen. mysql hat ja so seine probleme mit alphabetischer sortierung, das hab ich aber im sql-statement hingebogen (siehe http://www.dclp-faq.de/q/q-mysql-umlaute-sortieren.html). die namen kommen also definitiv korrekt sortiert aus der db. die abfrage im skript sieht wie folgt aus:
my @list = DRO::DBexecute( $dbh, $sqlstring );
wenn ich dann das ergebnis mit
foreach $_ (@list) {
print blablabla...
}
ausgebe, ist die liste schön alphabetisch sortiert, nur die Ärzte erscheinen ganz unten, also noch nach 'z'.
irgendwie scheint perl, bzw. das dbo-modul die einträge nach oder beim auslesen aus der db umzusortieren. hat irgendjemand eine idee?!?
ich bin nämlich echt am verzweifeln!
sorry wg. umständlichem erklären und langem text, aber ich bin um 1/2 5h morgens nicht mehr der frischeste...
gruß, zoidberg
Hi,
[...] ist die liste schön alphabetisch sortiert, nur die Ärzte erscheinen ganz unten, also noch nach 'z'.
Nur so eine Idee, mach doch aus dem "Ä" - nur für die Sortierung - ein "Ae".
Viele Grüße
Torsten
Hi,
[...] ist die liste schön alphabetisch sortiert, nur die Ärzte erscheinen ganz unten, also noch nach 'z'.
Nur so eine Idee, mach doch aus dem "Ä" - nur für die Sortierung - ein "Ae".
Viele Grüße
Torsten
mach ich ja im sql-statement:
SELECT *, REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
REPLACE(Name, 'Ä', 'A'), 'Ö', 'O'), 'Ü', 'U'),
'ä', 'a'), 'ö', 'o'), 'ü','u'), 'ß', 's') AS sortiert
FROM tabelle ORDER BY sortiert
ist ein ziemliches monster, ich weiss, aber das ist kein problem für den server. wenn ich diese statement 'von hand' auf der db ausführe, sind die ärzte da wo sie hingehören. nur geht offensichtlich auf dem weg über perl bis zur html-seite die sortierung wieder verloren.
ich werd noch wahnsinnig...
aber trotzdem danke für den tip.
elZoido