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 :

[AJAX] Ajax et rafraichissement


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 44
    Par défaut [AJAX] Ajax et rafraichissement
    Bonjour,

    J'ai une liste déroulante dans laquelle différentes disciplines sont inscrites.
    Pour chaque discipline, J'ai différents grades dans un tableau. Ceci se passe en AJAX.

    Mon problème se situe ici. J'ai 7 grades par pages maximum. Lorsque j'en ai plus de 7, je passe à la page suivante et j'aimerais enfaite savoir si lorsque je change de pages je peux tout simplement faire un rafraichissement de mon AJAX pour avoir les 7 grades suivants.

    Voici mon code:

    gestionGrade.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
     
    <?php include "header.php"; ?> 
     
    <div id="menuHaut">  
      <div id='MH1'>    
        <a href='formGrade.php'>Ajout d'un grade</a>  
      </div>
    </div>  
     
    <?php
      
      echo "<h1>Liste des grades</h1>";    
      include 'menuGauche.php'; 
    ?>  
    <form action="gestionGradeModif.php" method="POST" name="gestGrade">  
      <input type="hidden" name="disOuGrade" value="grade">    
      <p style="position:relative;left:400px;"> Choix de la discipline :	   
        <select id="id_discipline_2" name="id_discipline_2" onChange="changeGrade();">    
          <option value="">
          </option>
    <?php    
          $reqDis1="SELECT * FROM disciplines";
          $dis1=mysql_query($reqDis1) or die( mysql_error() );
          while($datadis = mysql_fetch_array($dis1))
          { 
            echo"<option name='$datadis[discipline]' value='$datadis[id_discipline]'>$datadis[discipline]</option>";
            
    //         if($_POST['idDiscipline']==$datadis["id_discipline"])
    //             echo"<option selected name='$datadis[discipline]' value='$datadis[id_discipline]'>$datadis[discipline]</option>";
    //            else
    //             echo"<option name='$datadis[discipline]' value='$datadis[id_discipline]'>$datadis[discipline]</option>"; 
          }
          
              ?>  
        </select> 
      </p>
    <div id='tablegrade'> 
      <table name='tablegrade' id='tablegrade' border='1'>
          <!-- Si la page est différente de 1 et que l'idDiscipline non-nul alors on affiche la page 2 -->
     
        </table><br /><br />
    </div>
     
      <input type="submit" value="Supprimer" style="position:absolute;left:500px; top:420px;">
      </input>     
     
       </form> 
    <?php include ("footer.php"); ?>
     
     
    <script language="Javascript">
      function getXhr(){
      var xhr = null; 
     
      if(window.XMLHttpRequest){ // Firefox et autres
    	   xhr = new XMLHttpRequest();
      } 
    	else if(window.ActiveXObject){ // Internet Explorer 
    		try {
    		  xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		} catch (e) {
    		  xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		  }
    	}
    	else { // XMLHttpRequest non supporté par le navigateur 
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		xhr = false; 
    	} 
      return xhr;
    }
     
    function changeGrade()
    {
        var xhr = getXhr();
    		xhr.onreadystatechange = function(){
     
          if(xhr.readyState == 4 && xhr.status == 200)   
          {       
              var leselect = xhr.responseText;
    					document.getElementById('tablegrade').innerHTML = leselect;
    			}	
    		}
    		xhr.open("POST","gestionGradeModif.php",true);
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		sel = document.getElementById('id_discipline_2');
    		iddisciplineModif = sel.options[sel.selectedIndex].value;		
    		xhr.send("idDiscipline="+iddisciplineModif);
    }
     
    function rafraichirTableau()
    {
     
    } 
     
    </script>
    gestionGradeModif.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
     
    <?php
     
     echo '<table name="tablegrade" border="1">
            <tr>
              <th>Grade</th>
              <th>Supprimer</th>
            </tr>
        ';
        if(isset($_POST["idDiscipline"])){
          $db="samourai_gestion";
          $connect = mysql_connect("localhost","admin","LSfnTlm08") or die ('Erreur : '.mysql_error());; 
          mysql_select_db($db) or die ('Erreur :'.mysql_error()); 
     
     
        $gradeParPages = 7;  
     
        $select = "SELECT count(*) FROM grades WHERE idDiscipline='".$_POST['idDiscipline']."'";
        $result = mysql_query($select) or die (mysql_error() );
        $row = mysql_fetch_array($result);
        $total = $row[0];
     
         	//Nous allons maintenant compter le nombre de pages.
      		$nombreDePages=ceil($total/$gradeParPages);
     
     
      		if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
      		{
      			$pageActuelle = intval($_GET['page']);
     
     
      			if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
      			{
      				$pageActuelle=$nombreDePages;
      			}
      		}
      		else // Sinon
      		{
      			$pageActuelle=1; /* La page actuelle est la n°1*/    
      		}
          $premiereEntree =($pageActuelle-1)* $gradeParPages;
     
     
          $requete = "SELECT * FROM grades WHERE idDiscipline ='".$_POST['idDiscipline']."' ORDER BY nom_grade ASC LIMIT ".$premiereEntree.",".$gradeParPages."";
          $resultat =  mysql_query($requete);
          while ($data = mysql_fetch_assoc($resultat))
        {
          echo '<tr>
                    <td>'.$data['nom_grade'].'</td>
                    <td><input type="checkbox" name="del_grade[]" value="'.$data["id_grade"].'" id="Del_discipline'.$data["id_grade"].'" ></td>
                </tr> ';   
        }
      }  
     echo '</table>';
     
      echo'<div id="divPaginationDiscipline">';
     
       for($i=1;$i<=$nombreDePages;$i++)
    		{		  
    			if($i!=$pageActuelle)
    			{
    			   //echo "<a href='gestionGrade.php?page=".$i."&idDiscipline=".$_POST['idDiscipline']."'>".$i."</a>&nbsp;";       
    			  echo "<span onClick='rafraichirTableau();'>".$i."</span> ";
          }
    			else
    			{
    			   echo $i."&nbsp;";       
    			}
    		}
    		echo"</div>";
      ?>
    Merci d'avance pour votre aide. Je vais continuer à cherché des solutions de mon coté.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 139
    Par défaut
    Je ne sais pas comment tu gères ta pagination dans la vue, mais à priori un clic sur un bouton "page suivante" qui refait un appel ajax en précisant l'offset de recherche devrait faire l'affaire.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 44
    Par défaut
    C'est à dire? Je ne vois pas trop comment faire :/

    J'ai tout simplement récupérer le num de la page que j'ai sélectionné et renvoyer vers cette page ^^

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

Discussions similaires

  1. lynx & ajax (pas de rafraichissement)
    Par majong dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 13/10/2008, 19h55
  2. AJAX: Problème de rafraichissement de la page
    Par mooosh dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/04/2008, 11h03
  3. [AJAX] AJAX et rafraichissement HTML
    Par Katachana dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/03/2008, 17h24
  4. [AJAX] AJAX rafraichissement sous IE
    Par yodark dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/01/2008, 16h32
  5. [AJAX] Listes déroulantes : rafraichissement
    Par Tximiti dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/06/2007, 13h58

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