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] Tableau avec plusieurs DIV


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 33
    Par défaut [AJAX] Tableau avec plusieurs DIV
    Bonjour à tous,

    C'est mon premier message sur le forum, je débute en ajax et je suis confronté à un petit problème ... n'hésitez pas à me reprendre avec la terminologie si je suis un peu ambigu.

    Je vais tenter de vous exposer mon problème, j'utilise une liste déroulante qui me permet d'exécuter ma fonction Ajax, le résultat étant affiché dans un DIV ... jusque là ça fonctionne !

    Ma fonction retourne un tableau composé d'un certain nombre d'enregistrements, et c'est là que j'ai besoin d'un peu d'aide ...

    Je souhaiterais pour chacun de ces enregistrements exécuter une nouvelle fonction ajax mais je bloque avec l'utilisation de la méthode getElementById et de ma balise DIV.
    J'ai tenté d'ajouter un identifiant à ma balise DIV (du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="tab_result_$id"></div>
    mais je ne sais comment le récupérer dans mon getElementById) ... d'ailleurs je ne sais pas si la bonne méthode

    Si vous avez une petite idée ce serait vraiment cool

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    Ce que je voudrais savoir c'est pourquoi tu affiches une variable php ($id) dans du code html? Normalement ce serait <?php echo $id;?>
    De plus, tu voudrais executer une fonction pour chacun de tes enregistrements. Mais part quel moyen? Un bouton qui effectuerais des modifications?

  3. #3
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 33
    Par défaut
    Tu as tout à fait raison, j'ai simplifié l'écriture dans mon message mais il s'agit bien de <?php echo $id;?>.

    De plus, tu voudrais executer une fonction pour chacun de tes enregistrements. Mais part quel moyen? Un bouton qui effectuerais des modifications?
    S'il n'y pas d'autre solution ce pourrait être un bouton mais l'idée serait que lorsque le tableau se charge, la fonction serait appelée pour chaque enregistrement... mais c'est vrai que je ne vois pas trop comment appeler ma fonction du fait que j'utilise déjà un <div> pour afficher mon tableau ..

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut,
    Actuellement, comme le souligne yann0807, ta demande est beaucoup trop vague pour que l'on puisse t'aider.
    On ne peut pas deviner ton code et tu ne nous montres que le code d'une div vide...
    j'ai simplifié l'écriture dans mon message
    oui, un peu trop même
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 33
    Par défaut
    Je ne voulais pas mettre tout mon code mais c'est vrai que ce sera probablement plus facile pour m'aider.

    Ma fonction permettant d'afficher mon tableau dans un div (fonction appeler via une liste déroulante)

    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
    	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 AFF_CLASSEMENT(id_compet,saison) 
    	{ 
    		var xhr = getXhr();
     
    		xhr.onreadystatechange = function() 
    		{ 
    			if ( xhr.readyState == 4 )
    			{
    				if(xhr.status  != 200)
    				{
    					document.getElementById("tab_clt").innerHTML ="Error code " + xhr.status;
    				} 
    				else 
    				{
    					document.getElementById("tab_clt").innerHTML = xhr.responseText;
    				}
    			} 
    			else 
    			{
    				document.getElementById("tab_clt").innerHTML = "Chargement en cours...<br /><br /><img src='loading.gif' alt=''/>";
    			}
    		 } 	
    		var url= "aff_classement.php?id_compet="+escape(id_compet)+"&saison="+escape(saison);
    		xhr.open("GET",url, true); 
    		xhr.send(null);
    	}
    Le fichier aff_classement.php exécute une requète mysql et renvoie le tableau dont le code est ci-dessous :
    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
     
         <table width="60%" border="1" align="center" cellpadding="1" cellspacing="0">
            <tr>
              <td width="10%" align="center">Rang</td>
              <td align="left">Joueur</td>
              <td width="20%" nowrap>Evolution</td>
            </tr>
            <?php
    $rang=1;
    while($row = mysql_fetch_array($result))
    {
            ?>
    	<tr>
    	  <td><b><?php echo $rang++; ?></b></td>
    	  <td align="left" nowrap><?php echo $row['joueur']; ?></td>
    	  <td align="center"></td>
    	</tr>
    	<?php 
    } 
    ?>
    </table>
    Ma boucle while renvoie donc un certain nombre d'enregistrements et c'est donc au niveau du champ évolution que je souhaiterais exécuter une nouvelle fonction.

    J'espère que cette fois c'est un peu plus clair

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    J'espère que cette fois c'est un peu plus clair
    Désolé, mais non, pas vraiment... je ne vois pas comment est appelée ta fonction AFF_CLASSEMENT() ni ce que tu souhaites faire après...
    En revanche, je suppose que tu veux lier des fonctions JavaScript aux éléments ajoutés.
    Si c'est le cas, voir la FAQ.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Tri d'un tableau avec plusieurs colonnes
    Par beegees dans le forum Langage
    Réponses: 11
    Dernier message: 04/11/2008, 20h43
  2. Un tableau avec plusieurs clef de même valeurs
    Par singleProject dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 15/10/2008, 10h54
  3. Tableau avec plusieurs champs
    Par lido dans le forum Forms
    Réponses: 9
    Dernier message: 04/02/2008, 12h10
  4. "Tableau" avec plusieurs types de variables
    Par izguit dans le forum C++
    Réponses: 4
    Dernier message: 19/07/2007, 11h24
  5. Centrer un tableau avec un DIV float sur la droite
    Par lvr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/01/2007, 15h24

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