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] creation d'un tableau d'affichage des données


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut [AJAX] creation d'un tableau d'affichage des données
    Bonjour,


    Je reprend actuellement un portail web que j'essaye de développer en ajax. Je suis assez débutant dans ce domaine (ainsi qu'en javascript).
    Pour tout ce qui est insertion et modification aucun probleme, mais je dois a présent récupere une table de produits et l'afficher (avec un truc sur la désignation).

    J'ai essayé en créant un tableau HTML et en essayant d'en modifier le contenu avec innerHTML (qui ne semble pas marcher).

    J'ai lu qu'on pouvait utiliser addRow sur un tableau pr ajouter une ligne, le probleme etant que je récupere toutes les données d'un coup...



    Si quelqu'un a une petite idée, je lui en serais très reconnaissant !!


    Merci d'avance !
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    mais je dois a présent récupere une table de produits et l'afficher
    tu veux dire quoi par là ? tu reçois tes données sous quelle forme ?
    Vive les roues en pierre

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    mon script ajax appelle en fait un script PHP qui lui renvoi (sous forme de xhr.responseText) des lignes de tableau comme celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <tr><td>C005125</td><td>Amplificateur c12 diam. 5</td></tr>
    <tr><td>C005126</td><td>Amplificateur c12 diam. 4</td></tr>
    <tr><td>C005127</td><td>Amplificateur c12 diam. 5</td></tr>
    J'essaye ensuite d'integrer ces lignes dans le tableau en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('id_du_tableau').innerHTML = xhr.responseText;

    Mais ceci ne marche pas ...
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Quittes à faire tu peux pas envoyer directement le tableau en entier ? car je crois que le innerHTML du table et en read-only sous IE.
    Ensuite tu mets juste ton tableau dans un span ou un div.
    Vive les roues en pierre

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    ok j'essaye ca tout de suite ! merci beacoup
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    Ca ne marche pas non plus ... peut être est-ce car mon script ajax est déclaré avant la div ? c'est vraiment bizarre je dois dire !

    Pourtant quand je fais un alert(xhr.responseText) j'ai bien le code d'un tableau html rempli qui m'est renvoyé..
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  7. #7
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Normalement il n'y a aucun problème, fais-voir ton code.
    Vive les roues en pierre

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    Voici mon code :

    d'abord un fichier m_consultation_stock.php qui est inclus (avec include en php) dans index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	<div id="liste_stock" style="position:absolute; top:200px; left:200px; width:400px; background-color:#DDDDDD">
    			<input type="textbox" id="txt11">
    			<input type="textbox" id="txt12"><input type="button" value="Go" onclick="renvoiListeProduits()">
    	</div>
    	<div id="affiche" name="affiche"></div>
    puis dans index.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
     
    <html>
    <head>
     
    <script language="Javascript" src="Scripts/ajax_stock.js"> </script>
     
    </head>
    <body>
     
    <?php
            require('Conf/portail_db.conf.php');
            require('Conf/portail_os.conf.php');
            require_once('Classes/u_sql.class.php');
            echo "page d'index ";
            $_sql = new u_sql();
            include('Modules/esp_salarie/stock/m_consultation_stock.php');
            
    ?>
    </body>
    </html>
    et enfin le script ajax dans ajax_stock.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
     
    	function renvoiListeProduits(){
    		var xhr = getXhr()
    		xhr.onreadystatechange = function(){
    			if(xhr.readyState == 4 && xhr.status == 200){
    				remplirtab(xhr.responseText);
    			}
    		}
    		xhr.open("GET","../Modules/esp_salarie/stock/get_liste_stock.php",true);
    		xhr.send(null);
    	}
     
    var e = document.getElementById("affiche");
     
    	function remplirtab(text){
    		alert(text);
    		e.innerHTML = text;
    	}
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 151
    Points
    151
    Par défaut
    J'ai trouvé la solution, il fallait déclarer e = document.getElementById("affiche") dans la fonction remplirtab...


    Merci beaucoup d'avoir répondu aussi vite !
    Pierre : abusé, regarde par la fenêtre, les gosses ils passent leur vie à faire du vélo dehors ...
    tom : ils ont pas de pc ou quoi ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Fait renvoyer a ton script php tout le tableau et pas seulement les lignes, ajoute les balise <table> et </table>

    Moi j'ai fait comme ça, mon script php me renvoie tout le tableau avec entête et toutes les lignes qui le compose et je l'affiche avec document.getElementById('informations').innerHTML = xhr.responseText; et ça marche...

    Utilise le plugin Firebug destiner à Firefox pour débuger ton site, il te montrera tout les requêtes XHR avec leurs réponses ou leurs erreurs, Très très utile ce plugin quand on fait de l'ajax...

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

Discussions similaires

  1. affichage des données dans un tableau visible
    Par neoboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/09/2007, 12h16
  2. [Tableaux] affichage des données dans un tableau
    Par bilane dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 17h31
  3. Réponses: 2
    Dernier message: 15/12/2006, 10h31
  4. Réponses: 6
    Dernier message: 17/07/2006, 15h07
  5. Réponses: 3
    Dernier message: 24/02/2006, 10h22

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