Ga naar inhoud

jQuery Sortable opslaan in MYSQL database bij Gebruiker


Aanbevolen berichten

Hallo, Ik ben al een tijdje bezig met een soort cms.

Ik heb nu een html admin panel template genomen. Daar heb ik zelf een login systeem voor gemaakt, die ziet er als volgt uit: Een login pagina waar je de gegevens in typt, na die form op de  login pagina komt een script die de gebruikersnaam en wachtwoord controleerd met de gebruikersnaam en geëncrypte wachtwoord in de database dan als dat allemaal goed is dan maakt die een sessie aan. Die sessie bevat wat variabelen: Het id van de gebruiker en de naam van de gebruiker. Vervolgens word de gebruiker naar het admin paneel doorverbonden eenmaal op de eerste pagina van het admin paneel controleert die pagina of er een active sessie is en haalt die de variabelen op indien er geen actieve sessie is word die weer geredirect naar de login pagina. Het gene wat ik wil maken is dat  de met jQuery slider versleepbare panelen automatisch worden opgeslagen d.m.v het php variabele met het id van de user zodat die weet bij wie en  een aparte rij. Zodat als die gebruiker een paneel versleept en die herlaad of bezoekt de pagina opnieuw dat dit word weergegeven in die volgorde hoe hij het had gezet.

Kan iemand mij daar bij helpen.

Zelf kon ik niets op internet vinden.

Alvast bedankt

Met vriendelijke groet,

Kuno Claes

Link naar reactie
Delen op andere sites

Hoi, 

 

Ik denk dat je zoiets bedoeld

 

 

 

Als je naar de javascript kijkt, zie je een functie: "stop". Deze functie wordt altijd aangeroepen als iemand "klaar" is met slepen. 

Het resultaat (de volgorde van de panels) kun je dan opslaan via bijv. een `$.post("/dashboard/save")`. Wat je op die "/dashboard/save" url doet is dan aan jou. Daarin heb je de sessie tot je beschikking en dus de gebruiker. 

 

Gezien je met deze techniek al bezig bent zou ik ook eens kijken of je Slim Framework kunt gebruiken. Dit is een heel simpel PHP framework waarin je routes kunt maken, van alles met sessies doen, middleware technieken gebruiken, etc.

Jouw methodiek waarin je geredirect wordt naar een login pagina als je niet bent ingelogd kun je bijv. doen met een middleware.  

 

Het is een heel makkelijk en meest simpele PHP Framework wat ik ken.

 

Link naar reactie
Delen op andere sites

Ok,

Ik snap het half.

Ik snap nu wel al dat als je klaar bent dat dan stop word uitgevoerd. Alleen hoe kan ik dat doorgeven aan een php script via de POST method? En hoe kan ik die volgorde weer laden met json?

Alvast bedankt,

Met vriendelijke groet, Kuno Claes

Link naar reactie
Delen op andere sites

  • 5 weken later...

Als je het voorbeeld wat ik eerder doorstuurde bekijkt, dan staat in de javascript code dit: 

 

$("#widgets").sortable({
   handle: ".panel-heading",
   cursor: "move",
   opacity: 0.5,
   stop : function(event, ui){
      // ... code
   }
});

 

In de stop functie maak je dan jouw $.ajax call naar je website. De nieuwe volgorde van id's kun je ophalen d.m.v. de andere code die ze daar in het voorbeeld hebben geplaatst.

 

$("#widgets").sortable(
  'toArray',
  {
    attribute : 'id'
  }
)

De uitkomst daarvan kun je gebruiken als POST-data voor je AJAX call. 

 

Voor jou zou het dan bijv. zo eruit kunnen zien:
 

$("#widgets").sortable({
   handle: ".panel-heading",
   cursor: "move",
   opacity: 0.5,
   stop : function(event, ui){
      var order = $("#widgets").sortable('toArray', { attribute : 'id' });
      $.post("/dashboard/save", { sort: order }, {
        success: function(data){
           // hier code wanneer de POST succesvol is
        }
      );
   }
});

 

Om de volgorde weer op te halen, moet je weer een nieuwe URL maken welke de volgorde terug geeft. Maar dat is ook aan jou om te maken in PHP. 

 

Voor de documentatie over de .sortable jQueryUI plugin: http://api.jqueryui.com/sortable/ 

 

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.