IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Rafraichissement automatique d'un div ou iframe sans rafraichir la page


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut Rafraichissement automatique d'un div ou iframe sans rafraichir la page
    Bonsoir,
    J'ai un soucis je souhaiterai rafraichir en Ajax, une div ou un iframe cible sans rafraichir la page.

    Le code ci-dessous ne fonctionne pas.
    J'ai tenté plusieurs bout de code que j'ai trouvé sur Google sans succès non plus !!!

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    session_start();
    ?>
    <html>
    <head>
    <script src="JQuery.js"></script>
    <script type="text/javascript">
    var auto_refresh = setInterval( function () { $('#load_donnees').load('Index.php').fadeIn("slow"); }, 10000 ); // rafraichir toutes les 10 secondes
     
    </script>
    </head>
     
    <body>
    <div>
    <?php 
    if(isset($_SESSION['a']){$val=$_SESSION['a'][0]+1;}
    else{$val=0;echo "Valeur de départ : ".$val."<br/>";}
    ?>
    </div>
    <div id="load_donnees"><?php echo "La valeur actuelle : ".$val."<br/>";?></div>
    </body>
    </html>

    Est ce possible ?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 197
    Par défaut
    Vu du côté javascript, "Index.php" n'est pas connu.
    Il faut mettre une url complète...

    Essaie peut être un truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var auto_refresh = setInterval( function () { $('#load_donnees').load('http://URL DE TON SITE/CHEMIN EVENTUEL/Index.php').fadeIn("slow"); }, 10000 );

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut Réponse
    Merci cela fonctionne.
    Le rafraichissement se fait mais j'ai une truc étrange.
    On dirait qu'il me fait un double rafraichissement.
    Car je devrai avoir après chaque rafraichissement ceci en résultat.

    Premier chargement

    La valeur de départ : 1
    La valeur de la session m est : 1
    La deuxième valeur de départ : 1
    La valeur actuelle : 1

    Puis rafraichissement

    La valeur de la session m est : 1
    La valeur actuelle : 2

    ....

    Au lieu de cela j'ai :

    Premier chargement
    La valeur de départ : 1
    La valeur de la session m est : 1
    La deuxième valeur de départ : 1
    La valeur actuelle : 1

    Puis rafraichissement

    La première Valeur de départ : 1
    La valeur de la session m est : 1
    La deuxième Valeur de départ : 1
    La valeur de la session m est : 2
    La valeur actuelle : 2
    ...

    La je suis un peu bloquer.
    Je ne sais pas qui fait l'erreur, AJAX, PHP ou les deux.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    session_start();
    ?>
    <html>
    <head>
    <script src="JQuery.js"></script>
    <script type="text/javascript">
    var auto_refresh = setInterval( function () { $('#load_donnees').load('http://localhost/application/Iframes/Index.php').fadeIn("slow"); }, 10000 );
    </script>
    </head>
     
    <body>
     
    <?php 
    if(isset($_SESSION['m'])){$vm=$_SESSION['m'][0];$vnl=$vm+1;$_SESSION['m'][0]=$vnl;}
    else{$nl=1;$_SESSION['m'][0]=$nl;echo " La première Valeur de départ : ".$nl."<br/>";$vnl=1;}
    echo "La valeur de la session m est : ".$vnl."<br/>";
    if(isset($_SESSION['a'])){$vl=$_SESSION['a'][0];$val=$vl+1;$_SESSION['a'][0]=$val;}
    else{$val=1;$_SESSION['a'][0]=$val;echo "La deuxième Valeur de départ : ".$val."<br/>";}
    ?>
    <div id="load_donnees"><?php echo "La valeur actuelle : ".$val."<br/>";?></div>
    </body>
    </html>

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par EddiGordo Voir le message
    Vu du côté javascript, "Index.php" n'est pas connu.
    Il faut mettre une url complète...
    On peut utiliser des chemins relatifs en JavaScript, ce qui est même conseillé. Imagine, si tu déplaces ton site sur un autre hébergeur, tu vas modifier tous les liens?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 197
    Par défaut
    On peut utiliser des chemins relatifs en JavaScript, ce qui est même conseillé. Imagine, si tu déplaces ton site sur un autre hébergeur, tu vas modifier tous les liens?
    Oups
    Au temps pour moi, houlala, j'ai honte
    Bien sur, que tu as raison @andry.aime, je dois être fatigué lol . (mais non je ne cherche pas d'excuses rhooo )

    Pour revenir au problème :
    Je pense que tu charges avec load la page "Index.php" dans une div, elle-même contenue dans "Index.php"...
    Au bout du compte tu te retrouves aux Nième chargement avec N setInterval qui jouent chacun leur tour la même chose.

    Il faudrait scinder ta page en deux, l'une pour la structure et le js, l'autre pour la div et son contenu.
    Par exemple, un fichier main.php qui contriendrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
            session_start();
    ?>
    <html>
    	<head>
    		<script src="JQuery.js"></script>
    		<script type="text/javascript">
    			var auto_refresh = setInterval 	(
    												function () 
    												{
    													$('#load_donnees')
    														.load('majCompte.php')
    														.fadeIn("slow");
    												},
    												10000
    											);
    		</script>
    	</head>
     
    	<body> 
    		<div id="load_donnees">
    			<?php
                                    $_SESSION['m'][0] = 1;
                                    $_SESSION['a'][0] = 1;
                                    echo " La première Valeur de départ : 1<br/>";
                                    echo "La deuxième Valeur de départ : 1<br/>";
                            ?>
    		</div>
    	</body>
    </html>
    Et une autre, majCompte.php, avec le contenu de la div :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
            session_start();
            if (isset($_SESSION['m']))
            {
                    $vm = $_SESSION['m'][0];
                    $vnl = $vm + 1;
                    $_SESSION['m'][0] = $vnl;
            }
            else
            {
                    $nl = 1;
                    $_SESSION['m'][0] = $nl;
                    echo " La première Valeur de départ : ".$nl."<br/>";
                    $vnl = 1;
            }
            echo "La valeur de la session m est : ".$vnl."<br/>";
            if (isset($_SESSION['a']))
            {
                    $vl = $_SESSION['a'][0];
                    $val = $vl + 1;
                    $_SESSION['a'][0] = $val;
            }
            else
            {
                    $val = 1;
                    $_SESSION['a'][0] = $val;
                    echo "La deuxième Valeur de départ : ".$val."<br/>";
            }
            echo "La valeur actuelle : ".$val."<br/>";
    ?>
    Mais "m" et "a" étant incrémentés en même temps, ils sont toujours égaux, donc je ne vois pas trop ce que tu veux en faire.
    Du coup on peut simplifier grandement la page majCompte.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
            session_start();
            echo "La valeur de la session m est : ".(++$_SESSION['m'][0])."<br/>";
            echo "La valeur actuelle : ".(++$_SESSION['a'][0])."<br/>";
    ?>
    Précise un peu ce que tu veux faire si ma solution ne t'aide pas

Discussions similaires

  1. pdf dans une div sans rafraichir la page
    Par Eisy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/09/2007, 13h12
  2. Redimensionnement iFrame SANS reload de page
    Par BnA dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/07/2007, 14h58
  3. [AJAX] Changer l'url de la page sans rafraichir la page
    Par bonjour69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/11/2006, 09h56
  4. Fermer une iframe sans fermer la page
    Par guillaumeIOB dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/09/2006, 20h13
  5. Rafraichir Iframe sans rafraichir la page
    Par Devether dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/05/2006, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo