Actualiser une page HTML suivant l'état d'une variable dans une base

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Actualiser une page HTML suivant l'état d'une variable dans une base

Re: Actualiser une page HTML suivant l'état d'une variable dans une base

par Ryle » 21 janv. 2021, 15:32

Salutations !

Pour pouvoir lire l'information que tu as en base de données, il te faut l'interroger avec php. Pour pouvoir interroger php, il te faut faire appel au serveur. Pour faire appel au serveur sans changer d'url/recharger la page, il faut utiliser du javascript et en particulier de l'ajax.

La librairie jquery proposée par or1 est plutôt bien adaptée pour cela puisqu'elle permet d'appeler le serveur, faire exécuter ton script php qui contrôle la valeur en base, et récupère le résultat retourné (affiché) par le script. En fonction de cette valeur pourra actualiser ou non la page :)

(Autre option, quitte à appeler le serveur pour obtenir une information, tu peux aussi lui demander de te retourner le "bloc qui change" quand ta variable est à 1. Ainsi, au lieu de recharger la page et faire un nouvel appel au serveur, tu actualises en javascript le ou les blocs qui seraient mis à jour avec le rechargement... dans les deux cas, ça se fait avec de l'ajax, et jquery est parfaitement adapté pour cela :))

Re: Actualiser une page HTML suivant l'état d'une variable dans une base

par or 1 » 20 janv. 2021, 21:28

https://api.jquery.com/jquery.get/ pour appeler un fichier php et récupérer ce qu'il retourne.

Re: Actualiser une page HTML suivant l'état d'une variable dans une base

par Francksxm » 20 janv. 2021, 21:17

Bonjour,

Déjà, merci pour votre réponse rapide.
Mais j’ai du mal m’exprimer.
Le script fonctionne :

<script>
var counter = 10;
var intervalId = null;
function finish() {
clearInterval(intervalId);
window.location.reload();
}
function bip() {
counter--;
if(counter == 0) finish();

}
function start(){
intervalId = setInterval(bip, 1000);
}
</script>

Je récupère ma variable en PHP :


include("connexion.php");
$requete = "SELECT * FROM actu where id ='1'";
$resultat = $db->query($requete);
while ($ligne = $resultat->fetch_assoc()) {
$flag=$ligne['flag'];
}


Maintenant, je veux tester $flag
S'il est égal à 1 : je vais dans function finish() ou header("Refresh:0"); en PHP
S'il est égal à 0 je ne rafraichie pas la page.

En fait, je n'arrive pas à imbriquer les 2.

Merci :)

Re: Actualiser une page HTML suivant l'état d'une variable dans une base

par or 1 » 20 janv. 2021, 18:13

https://api.jquery.com/jquery.get/ pour appeler un fichier php et récupérer ce qu'il retourne.
pour le faire toutes les 10 secondes : https://www.w3schools.com/js/js_timing.asp

Actualiser une page HTML suivant l'état d'une variable dans une base

par Francksxm » 20 janv. 2021, 18:03

Bonjour,

Je vous soumets mon problème après de longues heures de recherche !

J'ai une base de données (immo) avec une table (actu) avec une variable $flag (qui passe de 0 à 1 ailleurs sur le site).
J'affiche sur ma page HTML différentes images. (peu importe...)
Je voudrai tester cette variable toute les 10s
Si elle est égale à 0, je ne fais rien.
Si elle est égale à 1, je la repasse à 0 et j'actualise ma page.

Voila, ça parait tout simple mais je me casse la tête depuis des heures...

Si vous avez une idée...

Merci