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.
Met setInterval in Javascript kan je dit doen.

Maar op sich is PHP niet geschikt voor een drukke chat. Dan kan je beter naar Sockets kijken.
Het wordt geen chat, maar een pagina waarop steeds kleine dingen veranderen.
Ik gebruik het volgende, maar je ziet de pagina zichtbaar refreshen:


 <script type="text/javascript">
  setTimeout(function(){
      window.location.href = window.location.href;
  },1000)
</script>


Hoe voorkom ik dat je het zichtbaar ziet refreshen?
>> Het wordt geen chat, maar een pagina waarop steeds kleine dingen veranderen.

Dat komt doordat je met window.location.href de complete webpagina vervangt en niet slechts de "kleine dingen".
Gebruik AJAX als je alleen de inhoud van specifieke onderdelen wilt vervangen.
Ik gebruik de volgende query:


<?php
	$draaiboekID = $_GET['draaiboekID'];
        $search_draaiboeken = mysql_query("SELECT * FROM draaiboeken WHERE draaiboekID = '".$draaiboekID."'");
        $result_draaiboeken = mysql_fetch_assoc($search_draaiboeken);

echo $result_draaiboeken['naam'];
?>


Hoe kan ik dit met Ajax dan steeds verversen?
Nog een vraag:
Met het volgende script laad ik een div opnieuw:


         <script>
$(document).ready(function(){
	setInterval(function(){
		$("#loadscript").load('shared/loadscript.php?draaiboekID=<? echo $draaiboekID; ?>')
    }, 2000);
});
</script>


Dat werkt, inclusief draaiboekID etc.
Maar kan het kloppen dat jQuery-scripts die ik run op loadscript.php niet werken in de pagina waarin ik het bovenstaande script heb staan?
Want op loadscript.php werkt het script, maar in de pagina met script die de <div> laadt niet...
loadscript.php (niet echt een duidelijke naam), handelt toch de PHP-code af? Wat zou jQuery daar in eigenlijk nog moeten doen dan?

PS: De short-tag voor PHP is echt afgeraden. De kans is groot dat deze bij een update van PHP uit kan staan waarbij al je source open en bloot zal staat, incl. eventuele passworden!)
Dank voor de tip!
In loadscript.php gaat mijn php-code informatie laden uit de database die vervolgens in een jQuery sortable script wordt weergegeven....
Dat sortable-script lijkt mij buiten loadscript te staan? Zo houd je je view en business-laag gescheiden. Enige wat het AJAX-script moet doen is de data ophalen(en niet tonen), dus gebruik de $.ajax()-functie. En die data kan je weer gebruiken voor je sortable.

Reageren