Avatar billede preben.m Nybegynder
25. juli 2006 - 02:01 Der er 10 kommentarer og
1 løsning

Valgfri sortering

Tænk dig at en bruger skal kunne vælge en rækkefølge via databasen, han skal eksempelvis kunne vælge sine livretter.

Pølse [DOWN]
Pizza [UP/DOWN]
noget [UP/DOWN]
Kage  [UP]


Dette er jo en hægtet liste tænker jeg, men hvordan klare man den med en MySQL database, jeg kunne også bare lade brugeren taste sin egen prioritet ind som int. og evt bagefter lave en lille java klasse der styrrer datamodelen, men der må være en bedre løsning. Problem stilling med den linkning til egen tabel jeg har lavet er at den kræver to updates, hvilke ikke er tilfredstillende selv om det skulle være en hel transaktion.

En evt select sætning der kan give true/false for op/nedrykning ville være super.
Avatar billede arne_v Ekspert
25. juli 2006 - 02:22 #1
livretter
---------
navn
prioritet

og så konvertere til linked liste under indlæsning var helt klart den rigtige løsning

livretter
---------
id
navn
prev
next

vil ganske rigtigt kræve to updates efter en insert

du kan sagtens lave en select i begge tilfælde som returnerer om der er
noget før og efter, men det hjælper dig vel ikke meget ??
Avatar billede preben.m Nybegynder
25. juli 2006 - 02:40 #2
Nej egentlig ikke, jeg troede bare der var en smart måde at gøre det på, jeg (husker) jeg har lavet noget med en oracle, den har en smart funktion connected by prior, og jeg husker det som om der var en smart måde jeg havde lavet det på engang (så man ikke bryder den hægtede liste). Det er desværre to år siden nu og jeg har lånt mine bøger ud til en ven...

P.S. Jeg har ikke de store bange anelser for at lave en hægtet liste i java, den er der jo allerede, men jeg overvejer at udgive mit projekt som opensource, når jeg er færdig, jeg har før lavet JSF (det er rigtig smart til MVC), men jeg regner ikke med det ville give den store succcess når brugerne skal installere er en tomcat server med ekstra moduler, i hvertfald ikke hvis man skal sammenlige med en løsning med php. - jeg havde aldrig skrevet en linie php i går ;-) (ja klokken er jo mange)
Kort - jeg ved ikke hvordan jeg selv skal lave en hægtet liste i php. (skal man selv lave arrays ???
Avatar billede arne_v Ekspert
25. juli 2006 - 04:57 #3
med Oracle CONNECT BY kan du iterere gennem tabellen
Avatar billede arne_v Ekspert
25. juli 2006 - 04:58 #4
Hvis det er til intranet brug så kan du vel sagtens distribuere en Tomcat+din app
bundle.

Er det til web hotel, så går det nok ikke.
Avatar billede arne_v Ekspert
25. juli 2006 - 04:59 #5
PHP understøtter faktisk OOP, så det må kunne lade sig gøre at lave en LinkedList
klasse
Avatar billede Slettet bruger
25. juli 2006 - 05:19 #6
Jeg har selv spurgt om det tidligere, prøv kig her:
http://www.eksperten.dk/spm/454064
Avatar billede preben.m Nybegynder
25. juli 2006 - 11:21 #7
Hej coldgate, det er ikke helt det samme som dit spørgsmål, jeg ønsker at sorterer på rows ikke col.
Avatar billede preben.m Nybegynder
25. juli 2006 - 11:25 #8
Hej Arne jeg har vil gerne kunne noget mere php (OOP) er  der noget du kan anbefale.
Avatar billede arne_v Ekspert
26. juli 2006 - 02:22 #9
jeg er ikke PHP mand men jeg finder følgende på Amazon:

Object-Oriented PHP: Concepts, Techniques, and Code / Peter Lavin
PHP 5 Objects, Patterns, and Practice / Matt Zandstra
The PHP Anthology: Object Oriented PHP Solution, Volume 1 / Harry Fuecks

og titlerne antyder da ligesom noget
Avatar billede preben.m Nybegynder
26. juli 2006 - 02:46 #10
Spændende bøger ingen tvivl om det, Arne jeg vil meget gerne give dig points.
P.S.Er der en måde hvorpå man kan gøre at andre brugere ikke går forgæves på dette spørgsmål, da der jo ikke rigtig er en håndgriblig løsning. Hvis ikke må jeg jo nok copy-paste mine kodestumper når de er færdige.

P.S. Husk svar !!!
Avatar billede arne_v Ekspert
27. juli 2006 - 02:05 #11
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester