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

Langage PHP Discussion :

rafraichir div automatiquement


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut rafraichir div automatiquement
    bonsoir à tous,

    j'ai vue qu'avec la fonction setinterval on pouvait mettre à jour un div...

    je réalise un petit tchat la page appeler s'appelle popup.php

    et elle est composé de 4 div :

    1 qui affiche les personnes, 1 la fiche de la personne, 1 la zone de message (a rafraichir automatiquement) et 1 zone textare pour saisir les messages....

    voic le code html.... pourriez vous me donner un grand coup de main en me faisant un petit script rapide... et ou le placer dans la page

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <eta http-equiv="Refresh" content="10" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    <style>
    * {margin:0; padding:0}
    .tchat { float:left; display:block; width:700px}
     
    .tchat-left { float:left; display:block; height:600px; width:249px; border-right:1px solid #ccc}
    .tchat-right { float:right; display:block; height:600px; width:450px}
     
    .tchat-top { float:left; display:block; height:69px; width:450px; padding:5px; border-bottom:1px solid #ccc}
    #tchat-middle { float:left; display:block; height:330px; width:450px; overflow-x: hidden; padding:5px}
    .tchat-bottom { float:left; display:block; background:yellow; height:169px; width:450px; padding:5px; border-top:1px solid #ccc; overflow-x: hidden}
     
    </style>
     
    </head>
     
    <body>
     
    <div class="tchat">
    	<div class="tchat-left">les personnes en discussions</div>
    	<div class="tchat-right">
    		<div class="tchat-top">la fiche du membre avec qui on discute</div>
    		<script language="javascript">
    window.onload = auto_refresh;
     
    function auto_refresh()
    {
    	new Ajax.Updater('tchat-middle', 'popup.php', {parameters:'mode=auto_refresh', evalScripts:true, asynchronous:true})
     
      setTimeout("auto_refresh()",4000);
      return true
    }
     
    </script>
    		<div id="tchat-middle">la zone des messages à rafraichir</div>
    		<div class="tchat-bottom">la zone de saisie de messages</div>
    	</div>
    </div>
     
    </body>
    </html>

    MERCI DE VOTRE AIDE

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    bon j'ai fait des modifs pour FF cela fonctionne bien... mais sous IE 6 cela ne fonctionne pas...

    j'ai ajouter ça et un fichier message.php mais sous IE 6 des que je tape un message rien ne s'affiche si j'essaye de poster un message à partir de firefox à destination du membre IE6.... RIEN NON PLUS
    par contre quand je poste du menbre IE6 vers FF cela fonctionne parfaitement sous FF

    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
    31
    32
    33
     
    </style>
    <script type="text/javascript">
    function refresh_div()
    {
     
    	var xhr_object = null;
    	if(window.XMLHttpRequest)
    		{ // Firefox
    			xhr_object = new XMLHttpRequest();
    		}
    	else if(window.ActiveXObject)
    		{ // Internet Explorer
    			xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
    		}
    	var method = 'GET';
    	var filename = 'message.php?idc=<?php echo $idc; ?>&id=<?php echo $_SESSION["RO_loginID"]; ?>';
    	xhr_object.open(method, filename, true);
    	xhr_object.onreadystatechange = function()
    		{
    			if(xhr_object.readyState == 4)
    			{
    				var tmp = xhr_object.responseText;
    				document.getElementById('tchat-middle').innerHTML = tmp;
    			}
    		}
    	xhr_object.send(null);
    	setTimeout('refresh_div()', 2000);
    }
    </script>
    </head>
     
    <body onload='refresh_div();'>
    la page message.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $link = mysql_connect($server, $login, $pass);
    mysql_select_db($dbase, $link);
    $sqlmessage_list='SELECT * FROM ro_tchatmessage WHERE tchatusersconnect_ID="'.$idc.'" AND tchatusers_ID="'.$id.'" ORDER BY datetchatmessage DESC';
    $resmessage_list=mysql_query($sqlmessage_list);
    while($resumessage_list=mysql_fetch_array($resmessage_list))
    { echo stripslashes($resumessage_list["tchatmessage"]).'<br />'; }
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 107
    Par défaut
    j'ai repris mon script à zéro et sous FIREFOX aucun problème...
    sous IE6 PROBLEME !!!

    en faites j'ai donc 2 fenêtres ouvertes 1 popup sous IE6 et 1 sous FF... quand je poste de IE6 vers FF, cela apparait bien dans la fenetre FF... il rafaraichit bien car j'ai mis un compteur et il marche sous les 2 navs...

    on dirait simplement qu'il n'arrive pas à lire la requete SQL sous IE6.... quelqu'un à une idée....

    la page message.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $link = mysql_connect($server, $login, $pass);
    mysql_select_db($dbase, $link);
    echo $sqlmessage_list='SELECT * FROM ro_tchatmessage WHERE tchatusersconnect_ID="'.$idc.'" AND tchatusers_ID="'.$id.'" ORDER BY datetchatmessage DESC LIMIT 10';
    echo $resmessage_list=mysql_query($sqlmessage_list);
    while($resumessage_list=mysql_fetch_array($resmessage_list))
    { echo stripslashes($resumessage_list["tchatmessage"]).'<br />'; }
    et la page popup.php

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?php
    require ("../user/class-session.php");
    require ("../connexion.php");
    switch ($_GET['actionpopup'])
    		{
    		case 'addmessage';
    		require("class-addmessage.php");
    		break;
    		}
    echo $encoding="<"."?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <eta http-equiv="Refresh" content="10" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    <style>
    * {margin:0; padding:0}
    .tchat { float:left; display:block; width:700px}
     
    .tchat-left { float:left; display:block; height:600px; width:249px; border-right:1px solid #ccc}
    .tchat-right { float:right; display:block; height:600px; width:450px}
     
    .tchat-top { float:left; display:block; height:69px; width:450px; padding:5px; border-bottom:1px solid #ccc}
    #tchatmiddle { float:left; display:block; height:330px; width:450px; overflow-x: hidden; padding:5px}
    .tchat-bottom { float:left; display:block; background:yellow; height:169px; width:450px; padding:5px; border-top:1px solid #ccc; overflow-x: hidden}
     
    </style>
    <script type="text/javascript">
    var compteur=0;
     
          function Rafraichissement() {
            //var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
     
    		var xhr_object = null;
     
            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                x = new XMLHttpRequest();
                if (x.overrideMimeType) {
                    x.overrideMimeType('text/xml');
                    // Voir la note ci-dessous à propos de cette ligne
                }
            }
            else if (window.ActiveXObject) { // IE
                try {
                    x = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e) {
                    try {
                        x = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e) {}
                }
            }
     
     
            if (x) { 
              x.onreadystatechange = function() 
            { 
              document.getElementById('tchatmiddle').innerHTML = x.responseText; 
            } 
              x.open("GET", "message.php?idc=<?php echo $idc; ?>&id=<?php echo $_SESSION["RO_loginID"]; ?>", true);
              x.send(null); 
            }
            document.getElementById('refreshcpt').innerHTML = compteur;
            compteur++;
     
            window.setTimeout("Rafraichissement()", 1000);
     
          }
     
    </script>
    </head>
     
     <body onload="Rafraichissement()">
     
     
     
    <div class="tchat">
    	<div class="tchat-left">
     
     
     
    	</div>
    	<div class="tchat-right">
    		<div class="tchat-top">
    		<?php switch ($_GET['actionpopup'])
    		{
    		case 'viewid';
    		echo 'muse '.$_GET['idc'];
    		break;
    		}
    		?>
     
    		</div>
    		<div id="refreshcpt">compteur</div>
    		<div id="tchatmiddle">
    chargement en cours.............
     
     
     
    		</div>
    		<div class="tchat-bottom">
    			<ol>
    			<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>?lang=<?php echo $lang; ?>&amp;actionpopup=addmessage">
    			<li><textarea name="message" rows="7" cols="42"></textarea></li>
    			<li><input type="submit" name="envoyer" value="envoyer" /></li>
    			<input type="hidden" value="<?php echo $_SESSION["RO_loginID"]; ?>" name="expediteur" />
    			<input type="hidden" value="<?php echo $_GET['idc']; ?>" name="destinataire" />
    			</form>
    			</ol>
    		</div>
    	</div>
    </div>
     
    </body>
    </html>

Discussions similaires

  1. hauteur <div> automatique par rapport à un autre <div>
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 08/05/2008, 19h38
  2. [AJAX] rafraichir div / rechargement image
    Par vince.bbob dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/04/2008, 15h15
  3. Ascenceur en bas d'une div automatiquement
    Par dest dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/11/2007, 10h52
  4. [JS] comment déplacer d'une DIV automatiquement?
    Par adil_vpb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/04/2007, 15h06
  5. Rafraichir jsp automatiquement ?
    Par questionneuse dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 21/04/2006, 16h20

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