Jquery, Ajax, SetInterval, PHP
Fermé
pilten
Messages postés
41
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
19 octobre 2012
-
22 sept. 2011 à 11:52
pilten Messages postés 41 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 19 octobre 2012 - 27 sept. 2011 à 12:31
pilten Messages postés 41 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 19 octobre 2012 - 27 sept. 2011 à 12:31
A voir également:
- Jquery, Ajax, SetInterval, PHP
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Href php ✓ - Forum PHP
- Bouton php - Forum PHP
- Echo image php ✓ - Forum PHP
6 réponses
Bonjour
À chaque refresh, il n'y a que 'madiv' qui est remis à jour. Ta fonction 'playlist()' ne change pas, et la durée du setInterval ne change donc pas non plus.
Il faut bien te rendre compte que
À chaque refresh, il n'y a que 'madiv' qui est remis à jour. Ta fonction 'playlist()' ne change pas, et la durée du setInterval ne change donc pas non plus.
Il faut bien te rendre compte que
<?php $duree = get_duree(); ?>n'existe absolument pas dans le javascript (vérifie en regardant le source de la page affichée) et n'a donc aucune raison de s'exécuter !
pilten
Messages postés
41
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
19 octobre 2012
22 sept. 2011 à 13:46
22 sept. 2011 à 13:46
J'ai essayé avec une variable de SESSION, sans succès
<script>
function playlist(){
<?php
$_SESSION['duree']= get_duree();
?>
$("#madiv").load(content.php');
}
setInterval('playlist()', <?php echo $_SESSION['duree'] ?>);
</script>
dans le fichier content.php, je modifie la valeur de ma variable de session (je réattaque la db)
Apparemment, ca ne fonctionne pas non plus ....
Quand je fais un "view source code", je vois bien le bon code, correct ... mais en réalité, le modification ne s'effectue pas
Merci d'avance
REMARQUE
Le premier passage dans la fonction playlist s'effectue sans problème, mais c'est à partir du premier refresh que cela ne va plus
<script>
function playlist(){
<?php
$_SESSION['duree']= get_duree();
?>
$("#madiv").load(content.php');
}
setInterval('playlist()', <?php echo $_SESSION['duree'] ?>);
</script>
dans le fichier content.php, je modifie la valeur de ma variable de session (je réattaque la db)
Apparemment, ca ne fonctionne pas non plus ....
Quand je fais un "view source code", je vois bien le bon code, correct ... mais en réalité, le modification ne s'effectue pas
Merci d'avance
REMARQUE
Le premier passage dans la fonction playlist s'effectue sans problème, mais c'est à partir du premier refresh que cela ne va plus
J'ai essayé de t'expliquer, sans succès
Le PHP N'EXISTE PAS dans le script javascript reçu par le client. Il n'a aucune raison de s'exécuter.
Que tu modifies $_SESSION['duree'] ou $duree tout court d'ailleurs, ça ne change rien : le script a été envoyé au client la première fois avec certaines valeurs, et quand tu fais de refresh tu ne renvoies que 'madiv', pas le script. Donc le script reste tel quel, avec la valeur qu'il y avait dedans au départ
Le PHP N'EXISTE PAS dans le script javascript reçu par le client. Il n'a aucune raison de s'exécuter.
Que tu modifies $_SESSION['duree'] ou $duree tout court d'ailleurs, ça ne change rien : le script a été envoyé au client la première fois avec certaines valeurs, et quand tu fais de refresh tu ne renvoies que 'madiv', pas le script. Donc le script reste tel quel, avec la valeur qu'il y avait dedans au départ
pilten
Messages postés
41
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
19 octobre 2012
22 sept. 2011 à 14:08
22 sept. 2011 à 14:08
Oui bon ok, j'ai bien compris finalement .....
J'essaie en réalité de trouver une solution à mon problème
J'essaie de pouvoir placer des variables dynamiques sur cette ligne
$("#madiv").load(content.php').hide().slideDown(3000).Delay(7000).slideUp(3000 ...
Oui, j'ai une interface user admin, dans laquelle j'aimerais que l'utilisateur puisse changer les effets, les temps de transition .....
j'ai aussi envie de mettre une variable dynamique dans cette ligne
setInterval('playlist()', 15000);
Avez-vous une idée ? merci d'avance
J'essaie en réalité de trouver une solution à mon problème
J'essaie de pouvoir placer des variables dynamiques sur cette ligne
$("#madiv").load(content.php').hide().slideDown(3000).Delay(7000).slideUp(3000 ...
Oui, j'ai une interface user admin, dans laquelle j'aimerais que l'utilisateur puisse changer les effets, les temps de transition .....
j'ai aussi envie de mettre une variable dynamique dans cette ligne
setInterval('playlist()', 15000);
Avez-vous une idée ? merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne suis pas expert en jQuery, et il y a sans doute plus simple, mais je te propose ça :
Crée un div avec display:'none' pour ne pas gêner et comme contenu la valeur initiale de ta tempo
Dans playlist(), récupère dynamiquement le contenu de cette tempo (getElementById) et utilise-le pour relancer ton setInterval
Modifie dynamiquement le contenu de ce div avec jQuery
Crée un div avec display:'none' pour ne pas gêner et comme contenu la valeur initiale de ta tempo
Dans playlist(), récupère dynamiquement le contenu de cette tempo (getElementById) et utilise-le pour relancer ton setInterval
Modifie dynamiquement le contenu de ce div avec jQuery
pilten
Messages postés
41
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
19 octobre 2012
27 sept. 2011 à 12:31
27 sept. 2011 à 12:31
Bonjour,
Je pense avoir trouvé une idée
Pour rappel, j'ai simplement une fonction "PlayList", qui charge un fichier PHP (le fichier php contient les requetes .....)
Ensuite, j'ai une fonction Setinterval pour le refresh de ma fonction Playlist
Maintenant ca se complique. Dans la fonction Playlist, j'ai décidé d'aller rechercher (dans un fichier PHP), la valeur de mon EFFET
Dans ce contexte ci :
La valeur de (var effet1) = fadeIn(3000);
Je suis sur et certain de cette valeur
Le problème c'est que dans la ligne de code Jquery :
$("#workframe").load('content.php').hide().effet1.delay(10000).fadeOut(3000);
Je ne sais pas comment écrire la valeur de effet1 ....
Pour le moment, ca ne fonctionne pas .....
En fait je ne sais pas comment écrire du javascript dans une ligne Jquery
Merci d'avance !!!
function playlist(){
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on appelle le fichier reponse.txt
xhr.open("GET", "contenu/cache.php", false);
xhr.send(null);
var effet1 = xhr.responseText + "(3000)";
//
$("#workframe").load('content.php').hide().effet1.delay(10000).fadeOut(3000);
}
setInterval('playlist()', 16000);
Je pense avoir trouvé une idée
Pour rappel, j'ai simplement une fonction "PlayList", qui charge un fichier PHP (le fichier php contient les requetes .....)
Ensuite, j'ai une fonction Setinterval pour le refresh de ma fonction Playlist
Maintenant ca se complique. Dans la fonction Playlist, j'ai décidé d'aller rechercher (dans un fichier PHP), la valeur de mon EFFET
Dans ce contexte ci :
La valeur de (var effet1) = fadeIn(3000);
Je suis sur et certain de cette valeur
Le problème c'est que dans la ligne de code Jquery :
$("#workframe").load('content.php').hide().effet1.delay(10000).fadeOut(3000);
Je ne sais pas comment écrire la valeur de effet1 ....
Pour le moment, ca ne fonctionne pas .....
En fait je ne sais pas comment écrire du javascript dans une ligne Jquery
Merci d'avance !!!
function playlist(){
var xhr=null;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//on appelle le fichier reponse.txt
xhr.open("GET", "contenu/cache.php", false);
xhr.send(null);
var effet1 = xhr.responseText + "(3000)";
//
$("#workframe").load('content.php').hide().effet1.delay(10000).fadeOut(3000);
}
setInterval('playlist()', 16000);