|
| Datastruktur til sorteret præsentation på ~ Fra : Steen Suder |
Dato : 03-02-08 10:55 |
|
Jeg har nogle data - ca. 3-400 poster - med ca. seks felter i hver. Disse
ligger i en flad tekstfil.
De bruges naturligvis af det relaterede system, men præsenteres lige så ofte
på webside. Alt er PERL eller shell (på Linux).
Nu har brugerne af systemet ytret ønske om at kunne sortere kolonnerne på
websiden for bedre at kunne finde den ønskede post.
Jeg forestiller mig noget, hvor jeg parser mine tekstdata ind i "noget"/en
struktur, der gør det nemt at bede om at få data ud sorteret på en specifik
kolonne stigende eller faldende f.eks.
Findes der "noget PERL", der kan gøre det nemt for mig at lave dette nummer?
(Uden at jeg skal til at rode med RDBMS som MySQL etc.)
NB
Jeg har været vant til at klare mig uden "ekstern" kode, hvorfor jeg ikke er
så godt kendt med div. udvidelsesmoduler.
--
Steen Suder
Prøv at forestille dig, at du er en anden, og læs så din artikel igennem
inden du sender den. Alle har interesse i, at du staver og formulerer
dig, så godt du kan. På den måde forstås det lettere, hvad du skriver.
| |
Thorbjørn Ravn Ander~ (03-02-2008)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 03-02-08 11:10 |
|
Steen Suder <sfs_news_spam@suder.dk> writes:
> Jeg forestiller mig noget, hvor jeg parser mine tekstdata ind i "noget"/en
> struktur, der gør det nemt at bede om at få data ud sorteret på en specifik
> kolonne stigende eller faldende f.eks.
Kunsten er at lave en sort på den ønskede nøgle. I Perl kaldes det
"Schwartzian transformation".
Kort forklaring her:
http://perl.plover.com/TPC/1998/Hardware-notes.html#Schwartzian_Transform
--
Thorbjørn Ravn Andersen
| |
Michael Zedeler (03-02-2008)
| Kommentar Fra : Michael Zedeler |
Dato : 03-02-08 11:12 |
|
Steen Suder wrote:
> Jeg har nogle data - ca. 3-400 poster - med ca. seks felter i hver. Disse
> ligger i en flad tekstfil.
>
> De bruges naturligvis af det relaterede system, men præsenteres lige så ofte
> på webside. Alt er PERL eller shell (på Linux).
> Nu har brugerne af systemet ytret ønske om at kunne sortere kolonnerne på
> websiden for bedre at kunne finde den ønskede post.
>
> Jeg forestiller mig noget, hvor jeg parser mine tekstdata ind i "noget"/en
> struktur, der gør det nemt at bede om at få data ud sorteret på en specifik
> kolonne stigende eller faldende f.eks.
>
> Findes der "noget PERL", der kan gøre det nemt for mig at lave dette nummer?
> (Uden at jeg skal til at rode med RDBMS som MySQL etc.)
Ja. sort kan sortere lister efter udtryk du selv vælger. F. eks.:
@a = (
{ key => 1, value => 'b'},
{ key => 3, value => 'd'},
{ key => 2, value => 'c'},
{ key => 0, value => 'a'}
);
print
join( ", ",
map { $_->{value} }
sort { $a->{key} <=> $b->{key} } @a
), "\n";
Så mit forslag er at læse hele filen ind i en datastruktur som f. eks.
kunne være en liste med hash-referencer og dernæst køre sort på den. Det
burde ikke tage lang tid hvis filen ikke er større.
Se under "sort" på perlfunc-manual-siden.
Mvh. Michael.
| |
Hans Jørgen Jakobsen (03-02-2008)
| Kommentar Fra : Hans Jørgen Jakobsen |
Dato : 03-02-08 12:53 |
|
On Sun, 03 Feb 2008 10:55:02 +0100, Steen Suder wrote:
> Jeg har nogle data - ca. 3-400 poster - med ca. seks felter i hver. Disse
> ligger i en flad tekstfil.
>
> De bruges naturligvis af det relaterede system, men præsenteres lige så ofte
> på webside. Alt er PERL eller shell (på Linux).
> Nu har brugerne af systemet ytret ønske om at kunne sortere kolonnerne på
> websiden for bedre at kunne finde den ønskede post.
>
> Jeg forestiller mig noget, hvor jeg parser mine tekstdata ind i "noget"/en
> struktur, der gør det nemt at bede om at få data ud sorteret på en specifik
> kolonne stigende eller faldende f.eks.
>
> Findes der "noget PERL", der kan gøre det nemt for mig at lave dette nummer?
> (Uden at jeg skal til at rode med RDBMS som MySQL etc.)
>
>
> NB
> Jeg har været vant til at klare mig uden "ekstern" kode, hvorfor jeg ikke er
> så godt kendt med div. udvidelsesmoduler.
Ud over mulighedden for server side sortering findes der flere javascript
moduler der kan klare sortering af tabeller ud fra kolonner i browseren.
Prøv at google "javascript html table sort".
På et tidspunkt prøvede jeg en. Den blev dog lidt langsom med en tabel med
5-7000 elementer. Det største problem var dog at ville være brug for noget
custom sortorder på 2 af kolonnerne.
/hjj
>
>
| |
|
|