Script permettant de rafraîchir une donnée PHP

Par EnObliO, il y a 9 ans


Bonjour a tous,

Mon problème est le suivant :
Sur mon site, les utilisateurs ont la possibilité de s'envoyer des mp. Très bien, dans le menu, il y a l'onglet "Messages" et si l'utilisateur reçoit un message, un petit 1 apparaît a coté du lien. Jusque la tout va bien.

Vous allez surement me demander que vient faire ce problème sur le forum JavaScript ^^ J'y viens.
Si l'utilisateur reçoit un message, il ne verra le "1" qu'une fois qu'il aura rafraichit la page. et là est mon souci.
Je souhaiterais que cette valeur soit rafrachie toutes les 5 ou 10 secondes.
Comment faire ? (Je ne me débrouille pas en JavaScript)

Merci de vos prochaines réponses :)
Cordialement,
EnObliO

14 réponses

EnObliO, il y a 9 ans

J'ai regardé des vidéos hier soir de 18h a 21h et j'ai mis en pratique, sauf que je n'arrive pas au rendu souhaité :(

betaWeb, il y a 9 ans

Tu cherche à faire quoi exactement ?

betaWeb, il y a 9 ans

Salut,

Alors juste pour info, tu as des tutoriels sur ce site (c'est un peu son "fond de commerce" si je puis dire). Donc tu cherche un peu par toi-même (un indice : il y a 2 tutos sur Ajax :o) ..
Ce n'est pas méchant, mais avant de dire "je ne maîtrise pas", "je ne connais pas", "je ne sais pas faire", as-tu au moins essayé ?

EnObliO, il y a 9 ans

Bonjour betaWeb,

Je me suis déjâ renseigné sur le sujet.
J'ai regardé sur internet, j'ai essayé de faire des scripts mais ça n'a rien donné.
Je suis donc venu poster ici

betaWeb, il y a 9 ans

Tu t'es renseigné oui, mais as-tu exprimenté ? Et as-tu pris le temps de regarder les tutos que @Grafikart a mis en ligne ?

Axis, il y a 9 ans

Bonjour,

Il faut que tu créés une méthode Ajax qui va chercher les données dans ta bdd.
Après il te faut lancer cette méthode à intervalle régulier. Pour cela tu peux faire un truc du genre :

function checkNotifications(){ getNotifications(); setTimeout(checkNotifications, 60000); }

Ceci te permettra de lancer la fonction getNotifications() toutes les minutes. Il faut bien sur que tu créés ta méthode Ajax avant ;)

Bon courage

EnObliO, il y a 9 ans

Bonjour, superbe merci pour ta réponse Axis, mais une chose coince ^^ je ne maitrise absolument pas JQuery ni Ajax ni JS :/
De plus, la donné que je souhaite actualiser est un ''li'' c'est différent ou non ?

Kiv, il y a 9 ans

3h de vidéos ne suffise pas à maitriser le minimum ! si les tutos de @Grafikart ne te suffisent pas, je t'invite fortement à jeter un oeil sur les apis de jquery. Une doc officiel pour te documenter tester et surtout comprendre les scripts

EnObliO, il y a 9 ans

Je cherche simplement a actualiser une liste ordonée (li) toutes les 30 secondes
Je suis en train de regarder des docs Kiv

EnObliO, il y a 9 ans

une ldée ?

EnObliO, il y a 9 ans

non personne ?

AlexJM, il y a 9 ans

Commences par donner ce que tu as déjà fait ;)

JMERISE, il y a 9 ans
recupMessages(); function recupMessages(){ $.post('recup.php', function(data){ $('.afficher').html(data); }) } setInterval(recupMessages,1000);

recup.php contient le script php qui vas recupérer le contenue de la bdd
.afficher est le nom de la div ou il doit ajouter le contenue voila voila :)

PS: pour info je connais rien en js, jquery, ajax... mais pourtant avec un peux de recherche tu fini par trouver :)

JMERISE, il y a 9 ans

Allez je te donne aussi côter php c'est cadeau :

<?php require_once 'config.php'; $message = array(); $require_message = $bdd->query('SELECT * FROM livecomment ORDER BY id DESC'); while($donner = $require_message->fetch()){ $message[] = $donner; } foreach ($message as $messages) { echo '<p class="name_user">'.$messages['name'].'</p>'; echo '<p>'.$messages['email'].'</p>'; echo '<p>'.$messages['message'].'</p>'; }