Beitrag von Thomas Fedder (333 Beiträge) am Mittwoch, 24.November.2004, 16:29.
Sortierung dt. Umlaute - christophs lösung klappt nicht
Hallo allerseits,
die allseits beliebte Problematik :-)
Sortierung von Begriffen, die mit einem Dt. Umlaut anfangen.
Im Thread http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=3095 schlägt Christoph einen Perl Code vor.
Habe diesen genommen:
get "/stadtratingen.de/behoerdenwegweiser/dienstleistungen","dienstleistungen";
@sortierte_liste=sort
{
my($x,$y)=($a,$b);
$x=~ s/ä/a/g; $x=~ s/ö/o/g; $x=~ s/ü/u/g; $x=~ s/Ä/A/g; $x=~ s/Ö/O/g; $x=~ s/Ü/U/g;
$y=~ s/ä/a/g; $y=~ s/ö/o/g; $y=~ s/ü/u/g; $y=~ s/Ä/A/g; $y=~ s/Ö/O/g; $y=~ s/Ü/U/g;
$x cmp $y;
} @{$liste{bezeichnung}};
foreach $wert (@sortierte_liste)
{
out "$wert<br>";
}
</perl>
Feldname nach dem Sortiert werden soll ist bezeichnung.
Ausgabetemplate: http://www.stadtratingen.de/cgi-bin/baseportal.pl?htx=/stadtratingen.de/behoerdenwegweiser/dienstleistungen_alle_perl
Keine Fehlermeldung, es wird einfach nichts ausgegeben.
@Claus Christmeier: Habe auf der Arbeit deine Tel. Nr. verlegt, rufe dich heute abend an!
Danke für Vorschläge
tf
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 24.November.2004, 16:36.
Re: Sortierung dt. Umlaute - christophs lösung klappt nicht
Antworten
Beitrag von Thomas Fedder (49 Beiträge) am Mittwoch, 24.November.2004, 19:36.
Re: Sortierung dt. Umlaute - christophs lösung klappt nicht
Hallo,
danke erstmal für die Hilfe.
Also:
Ich habe jetzt mal
get "Id==*","/stadtratingen.de/behoerdenwegweiser/dienstleistungen","dienstleistungen";
geschrieben (Es sollen ja alle Datensätze angezeigt werden)
} @{$liste{bezeichnung}};
Die Datenbank heisst dienstleistungen, das Feld heisst bezeichnung.
Ich war der Meinung, die Liste wird vorher erstellt.
Danke
TF
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 25.November.2004, 20:26.
Re: Sortierung dt. Umlaute - christophs lösung klappt nicht
Ok, ist jetzt noch die Frage ob Du alle Felder aus der Datenbank zur Ausgabe brauchst. Wenn nur "bezeichnung", dann ginge das so:
<loop db=/stadtratingen.de/behoerdenwegweiser/dienstleistungen code=perl>
push @liste, $bezeichnung
</loop>
<perl>
@sortierte_liste=sort
{
my($x,$y)=($a,$b);
$x=~ s/ä/a/g; $x=~ s/ö/o/g; $x=~ s/ü/u/g; $x=~ s/Ä/A/g; $x=~ s/Ö/O/g; $x=~ s/Ü/U/g;
$y=~ s/ä/a/g; $y=~ s/ö/o/g; $y=~ s/ü/u/g; $y=~ s/Ä/A/g; $y=~ s/Ö/O/g; $y=~ s/Ü/U/g;
$x cmp $y;
} @liste;
foreach $wert (@sortierte_liste)
{
out "$wert<br>";
}
</perl>
Antworten
Beitrag von Thomas Fedder (49 Beiträge) am Donnerstag, 25.November.2004, 20:55.
Re: Sortierung dt. Umlaute - christophs lösung klappt nicht
Hallo Christoph,
erstmal danke.
Das funktioniert.
Du hast recht, zusätzlich soll das Feld e_mail ausgegeben werden.
Idealerweise als Tabelle mit wechselndem Hintergrund.
DANKE für alles
Antworten
Beitrag von Thomas Fedder (49 Beiträge) am Samstag, 27.November.2004, 08:30.
Re: Sortierung dt. Umlaute - ... DANKE
Hi,
dies ist eindeutig ein Fall für einen Programmierer.
Ich habe nun einen beauftragt und dieser arbeitet daran.
Danke für die bisherigen Tipps und Lösungsansätze.
Ciao
TF
Antworten