Recharger page envois image

Résolu/Fermé
astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 - 9 juil. 2015 à 10:07
astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 - 9 juil. 2015 à 22:46
hello les gens,

Sur mon site j'ai un diaporama.php avec une partie admin.php qui me permet de mettre des images.

Je cherche un moyen de recharger la page du diaporama.php quand j'ajoute une nouvelle image.
Je ne vois pas comment faire cette opération!

Je voulais faire un cron, en comparant le nombre d'image en base, et le nombre d'image au chargement du diaporama, mais il n'est pas possible de charger une page de cette façon.
Y'a aussi le sleep, mais ce n'est qu'une pause !
Peut être avec l'heure du pc, toutes les 5 minutes je recharge la page, mais un rafraîchissement toutes les 5 minutes c'est plus que chiant, donc, pas une bonne solution.

Dans la doc php j'ai trouvé ceci:

// Crée et lance un minuteur qui se lance après 2 secondes, et se répète toutes les secondes
// tant qu'on ne le stoppe pas manuellement
$w2 = new EvTimer(2, 1, function ($w) {
    echo "est appelé chaque seconde, et est lancé après 2 secondes\n";
    echo "itération = ", Ev::iteration(), PHP_EOL;

    // Stoppe le watcher après 5 itérations
    Ev::iteration() == 5 and $w->stop();
    // Stoppe le watcher si les prochains appels provoquent plus de 10 itérations
    Ev::iteration() >= 10 and $w->stop();
});

mais je n'ai pas compris le principe de fonctionnement !

Une petite aide serais la bienvenue :)
Merci



A voir également:

3 réponses

blackduck Messages postés 817 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 24 novembre 2018 96
9 juil. 2015 à 10:42
Salut,

Sinon tu peux éventuellement bidouiller quelque chose avec AJAX.
Si tu mets une fonction qui tourne disons toutes les 5 minutes et qui ne fais que vérifier la différence entre le nombre d'image en base de données et celui chargé, tant que c'est identique rien ne se passe, pas de rechargement de page, par contre si différence il y a alors il lance le rechargement de la page.
De cette manière tu n'auras pas de rechargement toutes les 5 minutes qui ne servent à rien..
2
Danelectro Messages postés 1723 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 369
9 juil. 2015 à 10:48
+1 pour l'AJAX, c'est également ce que je ferais.
0
astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 1 637
9 juil. 2015 à 12:06
merci à vous,
Mais ajax m'est inconnu !
Peut être avez vous un exemple que je décortique et le mette à ma sauce :)
0
Danelectro Messages postés 1723 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 369 > astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024
9 juil. 2015 à 14:17
Je m'y suis mis il y a peu. Je te conseille d'aller voir du côté du JQuery, qui propose des fonctions qui facilitent la vie pour faire de l'AJAX : $.ajax(), $.get(), ...
0
astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 1 637
Modifié par astuces72 le 9/07/2015 à 21:21
:-)
c'est bon j'ai réussi en jquery ou ajax aucune idée :D
ça ressemble à ça:

<script language="JavaScript" type="text/[/contents/577-javascript-introduction-au-langage-javascript javascript]">
var appel = function() {
       $.ajax({
       type : 'GET',
    [/contents/542-url url]: "nbr_lignes.[/contents/1351-php-introduction php]?nbr_lignes_diap="+<?php echo $nbr_lignes_img ; ?>, 
success: function(data){ 
  if(data==1) 
  { 
  window.location.reload(true);
  } 
      }

    });
};
var duree = 5000; 
setInterval(appel, duree);
</script>


sur ma page nbr_lignes.php j'affiche soit 1 soir 0

Maintenant je me demande si un compteur toutes les 60 secondes ne fait pas ramer le serveur ?
normalement nom vu que le js et coté navigateur.
0
Danelectro Messages postés 1723 Date d'inscription samedi 25 février 2012 Statut Membre Dernière intervention 29 mars 2018 369
9 juil. 2015 à 22:00
C'est du JQuery ;) En fait l'AJAX n'est pas un langage mais un ensemble de méthodes existantes qui, reliées entre elles, permettent de manipuler des données de cette façon.
C'est côté client oui donc une requete au serveur toutes les 60 sec c'est rien du tout.
0
astuces72 Messages postés 7722 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 17 avril 2024 1 637
9 juil. 2015 à 22:46
merci de l'info
Je suis bien content que ça fonctionne en tout cas :)
0