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

JavaScript Discussion :

[AJAX] Rechargement d'une partie de page


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2003
    Messages : 40
    Points : 18
    Points
    18
    Par défaut [AJAX] Rechargement d'une partie de page
    Bonjour,

    ma page se sépare en deux parties :
    - un formulaire permettant de définir mes critères
    - un div dans lequel je charge une page php via Ajax

    le but est de pouvoir utiliser cette page indéfiniement : un bouton réinitialiser pour remettre le formulaire par défaut, et donc relancer l'affichage avec des critères différents.
    Pour le moment je travaille avec un seul critère : au changement de valeur dans la liste, je stocke cette valeur dans ma base. Sur clic du bouton "rechercher" j'appelle via Ajax ma page php qui affiche le tableau des résultats filtrés selon le critère enregistré dans la bdd.

    Sous Firefox, pas de problème pour faire plusieurs recherches d'affilée.
    Sous IE6, la première recherche passe, mais pour unenouvelle recherche je suis obligé de fermer IE et de le relancer

    mon appel de fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="?liste" onclick="load_page(this.href);return false;">test</a>
    mon script ajax :
    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
    /*************************************************
     
    	Fonction de definition de l'object xhr
     
    **************************************************/
     
    function new_xhr(){
     
    	var xhr_object = null;
     
    	if(window.XMLHttpRequest) // Firefox et autres
     
    	   xhr_object = new XMLHttpRequest();
     
    	else if(window.ActiveXObject){ // Internet Explorer
     
    	   try {
     
                    xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
     
                } catch (e) {
     
                    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
                }
     
    	}
     
    	else { // XMLHttpRequest non supporté par le navigateur
     
    	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
     
    	   xhr_object = false;
     
    	}
     
    	return xhr_object;
     
    }
     
    /*****************************************************
     
    	Fonction qui va recharger le contenu
     
    ******************************************************/
     
    function load_page(select) {
     
    	var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
     
    	xhr2.onreadystatechange = function(){
     
    		if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
     
    			if(xhr2.status  != 200){//Message s'il se produit une erreur
     
    				document.getElementById("lister").innerHTML ="Error code " + xhr2.status;
     
    			} else {//On met le contenu du fichier externe dans la div "lister"
     
    				document.getElementById("lister").innerHTML = xhr2.responseText;
     
    				//SetInnerHTML(document.getElementById("lister"), xhr2.responseText)
     
    			}
     
    		} else {//Message affiché pendant le chargement
     
    			document.getElementById("lister").innerHTML = "Chargement en cours ...";
     
    		}
     
    	}
     
    	xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
     
    	xhr2.send(null);
     
    }
    ma page 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
          <hr color="#B9D755" width=80% align="left" />
     
          R&eacute;sultats de la recherche :<p />
     
          <?
     
          include ("scripts/connexion.inc");
     
          $query = "SELECT mani FROM choix;";
     
          $result = mysql_query ($query) or die ("La recherche a échoué");
     
          $chp = mysql_fetch_array($result);
     
          if ($chp["mani"]==0)
     
          {
     
          $query = "SELECT agenda.numAg, agenda.manif, agenda.dateAg, agenda.ville, agenda.titre, manif.lib FROM agenda, manif WHERE agenda.manif=manif.numM GROUP BY manif, numAg;";
     
          }
     
          else
     
          {
     
          $query = "SELECT agenda.numAg, agenda.manif, agenda.dateAg, agenda.ville, agenda.titre, manif.lib FROM agenda, manif, choix WHERE agenda.manif=manif.numM AND manif.numM=choix.mani GROUP BY manif, numAg;";
     
          }
     
          $result = mysql_query ($query) or die ("La recherche a échoué");
     
          $chp = mysql_fetch_array($result);
     
     
     
          ?>
     
     
     
      <table border="0" width="80%" cellpadding="0" cellspacing="0">  
     
    <?
     
     
     
      $manif=htmlentities($chp["lib"]);
     
      $numM=$chp["manif"];
     
      echo '<tr><td colspan="2" class="manif"><a href="agenda.php?numM='.$numM.'"" class="lienmanif">'.$manif.'</a></td></tr>';
     
      echo '<tr><td class="lienville">'.htmlentities($chp["ville"]).'</td><td class="lienville">'.htmlentities($chp["dateAg"]).'</td></tr>';
     
      echo '<tr><td colspan="2" class="lientitre">'.htmlentities($chp["titre"]).'</td></tr>';
     
      while ($chp = mysql_fetch_array($result))
     
      {
     
        if ($manif!=htmlentities($chp["lib"]))
     
        {
     
           $manif=htmlentities($chp["lib"]);
     
           $numM=$chp["manif"];
     
           echo '<tr><td colspan="2" class="manif"><a href="agenda.php?numM='.$numM.'"" class="lienmanif">'.$manif.'</a></td></tr>';
     
        }
     
        echo '<tr><td class="lienville">'.htmlentities($chp["ville"]).'</td><td class="lienville">'.htmlentities($chp["dateAg"]).'</td></tr>';
     
        echo '<tr><td colspan="2" class="lientitre">'.htmlentities($chp["titre"]).'</td></tr>';
     
      }
     
     
     
    ?>
     
      </table>
    merci d'avance

  2. #2
    Membre averti Avatar de jmulans
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 397
    Points : 383
    Points
    383
    Par défaut
    probleme de cache assez recurent
    ajout ça en haut de ta page php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Pragma: no-cache");
    header("Expires: -1");
    J'mangerais plus jamais de chili... OUH !!!! DU CHILI !!!!

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2003
    Messages : 40
    Points : 18
    Points
    18
    Par défaut
    merci ça fonctionne nickel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Recharger une partie de page en ajax
    Par ajaxNoob dans le forum AJAX
    Réponses: 1
    Dernier message: 15/07/2012, 19h24
  2. [MooTools] sortable sur div lors d'un rechargement d'une partie de page
    Par le prince dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 30/07/2010, 08h10
  3. [AJAX] rafraichir qu'une partie de la page
    Par Emcy dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/11/2006, 13h02
  4. Réponses: 4
    Dernier message: 23/08/2006, 19h46
  5. Recharger une partie de page
    Par Tarba dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/06/2006, 16h07

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