Vraagje:
Hoe kun je met php een pagina om de x seconden updaten zonder dat het opvalt dat de pagina opnieuw geladen wordt?
Eigenlijk zoals dat in de Facebook-chat bijvoorbeeld gebeurt.
Ik heb het volgende:


<?php
$query  = "SELECT * FROM items WHERE draaiboekID = '".$draaiboekID."' AND del = '0' ORDER BY volgorde ASC";
$result = mysql_query($query);

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
// hier een lijst met het resultaat met de info in DIVjes, waarbij ook jQuery sortable wordt gebruikt
}
?>


Moet ik dan de $query met een $.ajax() laden en de rest laten staan? Of wat bedoel je, Arien? Heb je misschien een voorbeeld-linkje?
Je moet die sortable gewoon niet in je loadscript.php laden. De loadscript.php moet alleen de data ophalen die je daarvoor nodig hebt.

In de sortable-fucntie kan je in de update-event prima een $.ajax() request gebruiken, naar loadscript.php.
Maar hoe zorg ik er dan vervolgens voor dat nieuwe data die ondertussen misschien is ingevoerd in de pagina zichtbaar wordt?

Ik heb nu dus het bovenstaande script in draaiboek.php staan.
De query kan ik uitvoeren in loadscript.php
Maar waar laat ik de while(); ? Gewoon in draaiboek.php?
Misschien is het handiger om te vertellen wat voor data je precies wilt ophalen, zodat we daar beter een goed passende output aan kunnen geven.
De output geeft een draaiboek weer: een lijstje met onderwerpen: naam, datum, auteur.
Die onderwerpen staan dmv <div> in een lijstje en kunnen tov elkaar verschoven worden.
En dat schuiven werkt al en wordt gesaved.

Maar er kunnen meerdere gebruikers aan 1 draaiboek werken (op verschillende computers), en dus moet er steeds ge-update worden.
En dat wil ik maken.
Maar het updaten van de volgorde werkt al.
Ik moet het alleen zo maken dat wanneer iemand anders op een andere computer iets aan de volgorde veranderd, dat dat ook meteen zichtbaar is op MIJN scherm.
Dus tussendoor moet ik de laadquery zien up te daten...
Dan zou je om de zoveel tijd de volgorde aan moeten passen met een andere AJAX-request. Dan is het hopen dat de timer gelijk loopt op beide PC's.

Persoonlijk denk ik meer aan iets in de vorm van een versiesysteem.
Maar hoe doe ik dat dan met een andere AJAX-request? Voer ik dan de query opnieuw uit en update de rest dan vanzelf?
Je moet dan de lijst die je in je HTML genereert steeds vernieuwen.

Reageren