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 + programmer bouton suivant et precedant


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut [AJAX] ajax + programmer bouton suivant et precedant
    bonjour, voila j'ai programmer un bouton suivant pour faire défiler une table de ma base de données par palier
    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
    $i=0;
    $select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3 ';
    $compteur1= mysql_query('Select count(*) from methode') or die ('Erreur : '.mysql_error() );
    $row2 = mysql_fetch_array($compteur1);
    $j=$row2['count(*)'];
    echo $j;
    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // début du tableau
    	echo '<div id="methode">';
        echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
    	echo '<tr>';
        echo '<td bgcolor="#669999" width="101">IdMethode</td>';
        echo '<td bgcolor="#669999" width="101">Nom</td>';
        echo '<td bgcolor="#669999" width="140">Description</td>';
        echo '<td bgcolor="#669999" width="145">Lien</td>';
     	echo '</tr>'."\n"; 
      // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
        while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
        echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
        echo '</div>';
     
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
    ?>
     
    <input type="button" name="precedant" value="precedant" onClick="javascript:bellow()"/>
    <input type="button" name="Suivant" value="Suivant" onClick="javascript:follow()"/>
    <input type="hidden" id="total" value="<?php echo $j;?>">
    et j utilise ce script pour incrémenter mon compteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3
    script js
    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
    var nbre=0;
     
    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;
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
     
     
    function follow(){
    				var xhr = getXhr();
    				// On défini ce qu'on va faire quand on aura la réponse
    				xhr.onreadystatechange = function()  {
                    if(xhr.readyState !=4){
                        document.getElementById('methode').innerHTML='Chargement en cours'}
                            else
                             {document.getElementById('methode').innerHTML=xhr.responseText}
                    }
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajax_follow1.php",true);
    				// ne pas oublier ça pour le post
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    				// ne pas oublier de poster les arguments
    				total=document.getElementById('total').value;
    				if(nbre >= total){
    					document.getElementBYId('monbouton').disabled='true'; 
    					} 
    				nbre+=3;
    				xhr.send("i="+nbre+"&total="+total);
     
    			}
    voila le script php à executer apres ce script js
    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
    <?php
    header('Content-Type: text/plain; charset=ISO-8859-1');
    if (isset($_POST['i'])){
    $i=$_POST['i'];
    //On se connecte
    mysql_connect("localhost","root","");
    mysql_select_db("assvisual");
    // requête SQL qui compte le nombre total d'enregistrements dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT idmethode,nom,description,lien FROM methode limit '.$i.',3';
     
    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // début du tableau
     
        echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
    	echo '<tr>';
        echo '<td bgcolor="#669999" width="101">IdMethode</td>';
        echo '<td bgcolor="#669999" width="101">Nom</td>';
        echo '<td bgcolor="#669999" width="140">Description</td>';
        echo '<td bgcolor="#669999" width="145">Lien</td>';
     	echo '</tr>'."\n"; 
      // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
        while($row = mysql_fetch_array($result)) {
     
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
        echo '</tr>'."\n";
     
        }
        echo '</table>'."\n";
    	// fin du tableau.
     
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
    }
     
    ?>
    je veux desactiver mon boutton suivant dans le script js? alors j ai met ça
    total est le nbre total d enregistrement de ma table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(nbre >= total){
    					document.getElementBYId('monbouton').disabled='true'; 
    					}

  2. #2
    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
    Salut
    document.getElementBYId('monbouton').disabled='true';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monbouton').disabled=true;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    merci ça marche mais le boutton est desactiver qu'apres le teste
    moi je veux garder la derniere page afficher
    et j ai : le message inclus dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('methode').innerHTML='Chargement en cours'
    c a d je veux que quand je pointe sur les dernier enregistrements mon boutton sois desactiver

    merci d avance

  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
    Il faut que tu récupères le nombre de pages (pour vérifier si la base est mise à jour, dans une intervalle de temps tu mets à jour ton nombre de page sur le client),
    si le nombre de pages est égal à la dernière page, tu désactives le bouton.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Par défaut
    es ce que tu peux me donner svp plus de detail ou un bout de code
    puisque j ai pas bien compris et je suis debutant dans le developpement web

    merci d avance

  6. #6
    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
    Tu récupère le nombre d'enregistrement sur ton sql et tu le divise par 3 (dans ton cas) pour obtenir le nombre de pages.
    Il y a un tuto ici pour te donner un idée
    http://php.developpez.com/sources/in...ysqlpagination
    adapte le avec ton ajax.

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

Discussions similaires

  1. les boutons suivant et precedant
    Par sky88 dans le forum VB.NET
    Réponses: 4
    Dernier message: 06/02/2009, 22h42
  2. calcul bouton suivant et precedent
    Par samspitz dans le forum ASP
    Réponses: 3
    Dernier message: 11/10/2006, 19h44
  3. Réponses: 1
    Dernier message: 11/09/2006, 20h07
  4. pb bouton suivant et precedent
    Par taka10 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/06/2006, 08h30
  5. Réponses: 2
    Dernier message: 24/04/2006, 13h56

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