On 2005-10-08, Jonni <jobier@hotmail.com> wrote:
> Jeg arbejder pt. med nogle adresse informationer i vores forening. Vi
> har en praksis hvor vi forkorter adresser som gade, nr, etage og
> retning. F.eks. strøget nr 13 1. tv. bliver: st131v.
>
> Oplysningerne trækker jeg ud fra en mysql database, sorteret på
> adresse. Det der driller mig er, at etagen skal kunne være et s for
> stuen, og præsenteres med s før tallene 1, 2 og 3. På samme vis,
> ville jeg gerne have retningen venstre, midt for, højre sorteret i
> rækkefølgen v, m, h.
>
> Gade og nr. giver ingen problemer, men bogstav s kommer efter tal i
> etagen, og retningen "v, m, h" er i omvendt alfabetisk rækkefølge.
>
> Eneste jeg kan komme på er at splitte adressen op, trække ud i arrays,
> og så sortere på hver parameter, men virker lidt uoverskueligt og
> tungt på mig
Er der nogen der har en nem indgangsvinkel til dennne
> lidt snedige sortering?
Hvis jeg var dig ville jeg ændre skemaet. Istedet for at bruge s for
stuen så brug 0. Istedet for v, m, h for retning, så brug 0, 1, 2. Så
kan du altid omforme det længere oppe i programmet, hvis du lyster.
Derudover ville jeg dele jeres adresse format op. Det er ikke særlig
pænt at samle flere informationer i et felt.
Hvis dette ikke er muligt bliver du nok nødt til at skrive din egen
sorteringsfunktion. Du kan splitte adresse udtrykket op i felter og
lægge det ind i et multidimensionalt array og derefter sortere arrayet.
Kig på manualsiden for array, der er en del sorteringsfunktioner og
formentlig også en du kan bruge:
http://php.net/array
--
Med venlig hilsen
- Jacob Atzen