Exemple pour un chat :
Dans ce fichier tu fais la requête sur ta base de données comme tu le fais actuellement.
Dans ce fichier tu fais la requête sur ta base de données comme tu le fais actuellement :
[pastacode lang= »php » manual= »%3C%3Fphp%0A%20%20%24base%20%3D%20new%20PDO(mysql%3Ahost%3Dhostname%3Bdbname%3Ddb%3Bcharset%3Dutf8%3B’%2C%20’pseudo’%2C%20’pass’)%3B%0A%20%20%24result%20%3D%20%24base-%3Equery(‘SELECT%20pseudo%2Cmessage%20FROM%20chat%20ORDER%20BY%20ID%20DESC’)%3B%0A%20%20while(%24chat%20%3D%20%24result-%3Efetch())%0A%20%20%7B%0A%20%20%20echo%20’%3Cp%3E%3Cnav%3E’.%20%24chat%5B’pseudo’%5D%20.’%3A%20%3C%2Fnav%3E%20′.%20%24chat%5B’message’%5D%20.’%3C%2Fp%3E’%3B%0A%20%20%7D%0A%20%20%3F%3E » message= » » highlight= » » provider= »manual »/]
Par contre au lieu de faire echo dans ta boucle tu enregistre le contenu dans une variable.
Le code devient :
[pastacode lang= »php » manual= »%20%3C%3Fphp%0A%20%20%24base%20%3D%20new%20PDO(mysql%3Ahost%3Dhostname%3Bdbname%3Ddb%3Bcharset%3Dutf8%3B’%2C%20’pseudo’%2C%20’pass’)%3B%0A%20%20%24result%20%3D%20%24base-%3Equery(‘SELECT%20pseudo%2Cmessage%20FROM%20chat%20ORDER%20BY%20ID%20DESC’)%3B%0A%20%20%24chat_content%20%3D%20NULL%3B%0A%20%20while(%24chat%20%3D%20%24result-%3Efetch())%20%7B%0A%20%20%20%20%20%20%20%24chat_content%20.%3D%20’%3Cp%3E%3Cnav%3E’.%20%24chat%5B’pseudo’%5D%20.’%3A%20%3C%2Fnav%3E%20′.%20%24chat%5B’message’%5D%20.’%3C%2Fp%3E’%3B%0A%20%20%7D%0A%20%3F%3E » message= » » highlight= » » provider= »manual »/]
Ensuite tu retourne un json avec le contenue de cette variable :
[pastacode lang= »markup » manual= »%2F%2FPREPARE%20JSON%20ARRAY%0A%24json%20%3D%20array(%0A%09%22chat%22%20%3D%3E%20%24chat_content%2C%0A)%3B%0A%09%0A%2F%2FRETURN%20JSON%0Aheader(‘Content-Type%3A%20application%2Fjson’)%3B%0Aecho%20json_encode(%24json)%3B » message= » » highlight= » » provider= »manual »/]
Ensuite à l’aide de AJAX de JQUERY tu peux récupérer le contenue de ce fichier autant de fois que tu veux sans recharger ta page.
Dans la balise head tu ajoute jquery :
[pastacode lang= »markup » manual= »%3Chead%3E%0A%3Cscript%20src%3D%22%2F%2Fcode.jquery.com%2Fjquery-1.11.3.min.js%22%3E%3C%2Fscript%3E%0A%3C%2Fhead%3E » message= » » highlight= » » provider= »manual »/]
Puis tu utilise AJAX :
[pastacode lang= »markup » manual= »%3Cdiv%20id%3D%22resultat%22%3E%3C%2Fdiv%3E » message= » » highlight= » » provider= »manual »/]
[pastacode lang= »javascript » manual= »%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%2F%2F%20%3C!%5BCDATA%5B%0A%09function%20refresh_chat()%20%7B%0A%09%09%24.get(%20%22chemin_vers_le_fichier%2Fget_chat.php%22%2C%20function(data)%20%7B%0A%09%09%09%24(%22%23resultat%22%20).html(data.chat)%3B%0A%09%09%7D)%3B%0A%09%7D%0A%20%20%20%20%24(function()%20%7B%20window.setInterval(%22refresh_chat()%22%2C%203000)%3B%20%7D)%3B%0A%09refresh_chat()%3B%0A%2F%2F%20%5D%5D%3E%0A%3C%2Fscript%3E » message= » » highlight= » » provider= »manual »/]
De cette façon ton chat est automatiquement mis à jours chaque 3 secondes.