Positie bewaren met Sortable

Status
Niet open voor verdere reacties.

sonorgeek

Gebruiker
Lid geworden
2 okt 2008
Berichten
30
Hallo,

Ik heb records uit een database opgevraagt. Nu wil ik deze van volgorde veranderen door simpel weg te slepen.
Natuurlijk moet de positie van die record wel bewaard blijven.

Tot zover is het mij gelukt om de records van positie te veranden (met behulp van Scriptaculous => Sortable). Als ik dan de pagina weer ververs komen alle records weer op de orginele plaats te staan.

Ik heb begrepen dat het eventueel via een database kan.
Kan iemand mij helpen, om dit probleem op te lossen? :shocked:
 
Er zijn nog wat vraagtekens, die moet je eerst beantwoorden.

Is de volgorde voor elke gebruiker apart te veranderen? Over hoeveel rijen heb je het en zal er veranderingen optreden in de rijen -of blijft het aantal rijen en hun inhoud hetzelfde?
Is de volgorde definitief of wil je de volgorde alleen tijdelijk opslaan?

Wanneer 1 gebruiker de volgorde voor iedereen kan bepalen kan je het oplossen met bijvoorbeeld een extra kolom in de tabel met numerieke waarde. Dan kan je de veranderingen gelijk met javascript veranderen in de kolom.
(Bij het 'switchen' van waardes zoek je de sleutel van de rijen op en gebruik je die rij-ids om de waardes daarvan te 'updaten')

Als je voor iedere gebruiker een volgorde wil opslaan wordt het misschien wel een beetje kostbaar om deze lijsten bij te houden. Dan zou ik de veranderingen client-side doen en gebruik maken van een 'opslaan' knop. Dat wijzigingen pas naar de server verstuurd worden als mensen op die knop drukken. Dan zou je bijvoorbeeld een simpele string met separators kunnen maken om de volgorde op te slaan en die client side aanpassen/verwerken.
Dan kan een koppelingstabel er zo uitzien:
tabel Volgordes:
Code:
GebruikerID  | Volgorde
1                  |    1-3-5-7-2-4-9-8-6
2                  |    4-5-7-8-1-9-3-6-2

En zo zijn er nog wat verschillende situaties, oplossingen te bedenken. Wanneer je over veel gebruikers praat is het raadzaam om zelfs verschillende oplossingen uit te voeren en testen welke het beste werkt.
 
Er zijn nog wat vraagtekens, die moet je eerst beantwoorden.

Is de volgorde voor elke gebruiker apart te veranderen? Over hoeveel rijen heb je het en zal er veranderingen optreden in de rijen -of blijft het aantal rijen en hun inhoud hetzelfde?
Is de volgorde definitief of wil je de volgorde alleen tijdelijk opslaan?

Wanneer 1 gebruiker de volgorde voor iedereen kan bepalen kan je het oplossen met bijvoorbeeld een extra kolom in de tabel met numerieke waarde. Dan kan je de veranderingen gelijk met javascript veranderen in de kolom.
(Bij het 'switchen' van waardes zoek je de sleutel van de rijen op en gebruik je die rij-ids om de waardes daarvan te 'updaten')

Als je voor iedere gebruiker een volgorde wil opslaan wordt het misschien wel een beetje kostbaar om deze lijsten bij te houden. Dan zou ik de veranderingen client-side doen en gebruik maken van een 'opslaan' knop. Dat wijzigingen pas naar de server verstuurd worden als mensen op die knop drukken. Dan zou je bijvoorbeeld een simpele string met separators kunnen maken om de volgorde op te slaan en die client side aanpassen/verwerken.
Dan kan een koppelingstabel er zo uitzien:
tabel Volgordes:
Code:
GebruikerID  | Volgorde
1                  |    1-3-5-7-2-4-9-8-6
2                  |    4-5-7-8-1-9-3-6-2

En zo zijn er nog wat verschillende situaties, oplossingen te bedenken. Wanneer je over veel gebruikers praat is het raadzaam om zelfs verschillende oplossingen uit te voeren en testen welke het beste werkt.

Hier even de antwoorden op je vraagtekens.

- Iedere gebruiker moet de volgorde kunnen veranderen.
- De volgorde moet definitief veranderd worden (mogelijkheid om eventueel later te verplaatsen moet wel aanwezig zijn).
- De rijen en inhoud zijn variable. Dit is afhankelijk van wat er in de database staat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan