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] Afficher des informations avec AJAX


Sujet :

AJAX

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Points : 119
    Points
    119
    Par défaut [AJAX] Afficher des informations avec AJAX
    Bonjour

    Je n'arrive pas à afficher des données d'une base de données à l'aide d'AJAX à l'affichage de la page, j'aimerais bien savoir pourquoi cela ne fonctionne pas .

    Code JavaScript
    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
     
    <script type="text/javascript" src="oXHR.js"></script>
    <script type="text/javascript">
    request.onLoad= function() {
     
    	var xhr   = getXMLHttpRequest();
     
    	xhr.onreadystatechange = function() {
    		if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    			readData(xhr.responseXML);
    			document.getElementById("loader").style.display = "none";
    		} else if (xhr.readyState < 4) {
    			document.getElementById("loader").style.display = "inline";
    		}
    	};
     
    	xhr.open("POST", "liste.php", true);
    	xhr.send(null);
     
     
    }
     
    function readData(oData) {
     
     
    	var nodesTitre = oData.getElementsByTagName("titre");
    	var nodesTexte = oData.getElementsByTagName("texte");
    	var oDiv = document.getElementById("affichage");
    	var oTitre, oTexte;
     
    	oDiv.innerHTML = "";
    	for (var i=0, c=nodesTitre.length; i<c; i++) {
     
    		oTitre = document.createElement("h3");
    		oTexte = document.createElement("p");
    		var te = document.createTextNode(nodesTitre[i].nodeValue);
    		var ti = document.createTextNode(nodesTitre[i].nodeValue);
     
    		oTitre.appendChild(te);
    		oTexte.appendChild(ti);
     
    		oDiv.appendChild(titre);
    		oDiv.appendChild(texte);
     
     
    	}
     
    }
     
    </script>
    Code 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
     
    <?php
     
    header("Content-Type: text/xml");
    echo "<?xml version='1.0' encoding='utf-8'?>";
     
    	mysql_select_db("","","");
    	mysql_select_db("");
     
     
    	$query = mysql_query("SELECT * FROM articles ORDER BY id DESC LIMIT 0,3");
     
    	while ($back = mysql_fetch_assoc($query)) {
    	echo "<article>";
            echo "<titre>".htmlentities($back['titre'])."</titre>"
    	     "<texte>".htmlentities($back['texte'])."</texte>";
    	echo "</article>";
       }
     
     
    ?>
    Code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="affichage">
     </div>
    Je suis preneur de toutes propositions, je vous remercie d'avance.
    Bien à vous

  2. #2
    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
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,

    Ton XML est mal formé (pas d'élément racine unique), il ne peut donc pas être interprété par responseXML

  3. #3
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    xhr.open("POST", "liste.php", true);
    xhr.send(null);
    Utiliser GET si tu n'envoies aucune variable.
    mysql_select_db("","","");
    mysql_select_db("");
    C'est quoi ça?

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Points : 119
    Points
    119
    Par défaut
    Merci pour vos réponses.
    On ne peut pas faire des fichiers xml de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <article>
    <titre></titre>
    <texte></texte>
    </article>
    <article>
    <titre></titre>
    <texte></texte>
    </article>
    ou il faut faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <article>
    <titre></titre>
    <texte></texte>
     
    <titre></titre>
    <texte></texte>
    </article>
    plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_connect("","","");
    mysql_select_db("");
    Avec GET cela donnera ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    xhr.open("GET", "liste.php");
    xhr.send(null);
    N'empêche qu'avec les modifications, rien ne fonctionne...

  5. #5
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Tu peux t'inspirer de ces codes.
    à la place de la création des options, tu faits createTextNode.

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Points : 119
    Points
    119
    Par défaut
    Mais votre exemple fonctionne que lorsqu'on clique sur un bouton, moi par contre je veux, qu'à l'affichage de la page web Ajax s'occupe d'afficher mes informations de la base de donnée.
    Si vous savez comment faire, je vous serais reconnaissant

  7. #7
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Re,
    Tu appelles la fonction dans le onload du body.

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Points : 119
    Points
    119
    Par défaut
    Grâce à l'insertion d'onLoad au bon endroit, j'ai réussie à résoudre le problème, un grand merci

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

Discussions similaires

  1. Afficher des éléments avec ajax
    Par jean22 dans le forum AJAX
    Réponses: 10
    Dernier message: 18/12/2015, 23h26
  2. [AJAX] Afficher les donnees avec ajax/php
    Par samiou11 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/06/2008, 21h00
  3. [AJAX] Afficher une image avec ajax
    Par Mister Nono dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/11/2007, 19h23
  4. [AJAX] Afficher des photo avec AJAX
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2007, 08h34
  5. [AJAX] Passer des données avec caracteres speciaux
    Par linar009 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 10/01/2007, 11h42

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