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

jQuery Discussion :

recuperer les valeurs d'une base de données et les afficher dans une div avec ajax jquery


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut recuperer les valeurs d'une base de données et les afficher dans une div avec ajax jquery
    Bonjour,

    Il est vrai que de nombreux exemple existe sur jquery.com, mais je ne les comprends pas vraiment !!

    Je cherche à afficher (au chargement d'une page) dans une div les éléments d'une base de données (le nom de plusieurs documents l'un au-dessous de l'autre) avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.post('lectBDD.php', $("#selector").serialize());
    et les affichés dans ça :

    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
     
    <div class="docucat">
    <table cellspacing="0" cellpadding="0" width="100%">
             <?php while($data = mysql_fetch_object($req)){ ?>
             <tr><td id="selector">
                   <div id="docpdf" class="separtdoc"> 
                         <?php echo htmlentities($data->gdoc); ?>
                   </div> 
                   <div id="cadrelogo" class="separtdoc"> 
                          <img src="images/bt_pdf.png"/> 
                   </div>
                   </td>
              </tr>
              <?php } ?>
    </table>
    </div>
    Cela ne suffit-il pas ??

    je ne souhaite ni message d'erreur ni message de succes.

    Par la suite j'aimerais effectué un fadeIn sur ces différents documents (Pour que lors de l'affichage ils apparaissent l'un après l'autre avec une séparation de 400 ms).

    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    il faut passer par le callback du post pour lancer une fonction qui recupèreras la reponse du serveur (echo) poru la mettre en html() de ton div
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Désolé mais que dois-je comprendre pour le callback, car sur jquery.com on m'indique ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery.post( url, [data], [success(data, textStatus, jqXHR)], [dataType] )
    et je ne situe pas le callback, pourriez vous me donnez un exemple??

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    faut lire la doc ...

    un exemple tiré de jquery.com :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.post('ajax/test.html', function(data) {
      $('.result').html(data);
    });
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Voici donc ce que ça donne avec mes données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.post('lectBDD.php', function(data) {
      		$('#docpdf').html(data);
    	});
    la connexion a la BDD: lectBDD.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("ajout");
    $sql = 'SELECT * FROM save ';
    $req = mysql_query($sql) or die(mysql_error()); 
    mysql_set_charset('utf8'); 
    ?>
    et voici le conteneur qui doit recevoir les données et les afficher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table cellspacing="0" cellpadding="0" width="100%">
                    ligne 123	<?php while($data = mysql_fetch_object($req)){ ?>
                    	<tr><td id="selector"><div id="docpdf" class="separtdoc"> <?php echo htmlentities($data->gdoc); ?></div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div></td></tr>
                        <?php } ?>
                    </table>
    l'erreur donnée est la suivante:
    Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\page_administration_style.php on line 123
    Si je comprend bien mon $.post n'est pas correct, que dois je modifier car j'ai suivi les indications de jquery.com (comme vous me l'avez précisez)

    merci encore pour votre aide

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    tu as juste oublié de passer les data non ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    pourriez vous êtres plus précis , Merci

    parlez vous de ça ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: "$login="+$("#login").val()+"&pass="+$("#pass").val(),

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    tout est là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jQuery.post( url, [data], [success(data, textStatus, jqXHR)], [dataType] )
    les paramètres sont:
    l'url
    les données passées
    la fcontion a executer lors du retour..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.post('lectBDD.php', $("#selector").serialize(), function(data) {
      		$('#docpdf').html(data);
    	});
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    j'ai bien compris le script cependant je reçoit toujours la meme erreur de cette ligne:
    Undefined variable: req in C:\wamp\www\site-abiazix\remagen\page_administration_style.php on line 131 :

    ligne 131:<?php while($data = mysql_fetch_object($req)){ ?>
    et voici le fichier lectBDD.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("ajout");
    $sql = 'SELECT * FROM save ';
    $req = mysql_query($sql) or die(mysql_error()); 
    mysql_set_charset('utf8'); 
    ?>
    merci encore

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Dois-je changer de section pour la question précédente?

    Parce qu'elle est liée à l'action de Ajax (jquery).

    je ne sais pas d'ou vient le problème de $req, vu que la connexion entre la page
    page_administration_style.php et lectBDD.php se fait bien sans l'intervention de l'ajax.

    merci encore pour votre aide

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    C'est clairement un souci php et non plus javascript ...

    Parcontre ton fichier php ne fais pas d'echo ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Je viens de vérifier (si j'ai bien fait ma vérification?)

    le problème vient de la syntaxe ajax

    voici mon exemple:
    le PHP pricipal:
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script>
    	$(document).ready(function(){
    		$.post('lectBDD.php', $("#selector").serialize(), function(data) {
    			$('#docpdf').html(data);
    		});
    	});
    </script>
     
    </head>
     
    <body>
    <?php echo $sql ?>
    <?php while($data = mysql_fetch_object($req)){ ?>
    	<table cellspacing="0" cellpadding="0" width="100%">
              <tr><td id="selector">
              <div id="docpdf" class="separtdoc"><?php echo htmlentities($data->gdoc); ?> </div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div>
              </td></tr>
        </table>
     <?php } ?>
    </body>
    </html>
    le PHP de connection à la BDDlectBDD.php)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("ajout");
    $sql = "SELECT * FROM `save` WHERE `theme` LIKE '3'";
    $req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
    mysql_set_charset('utf8'); 
    ?>
    Voici les erreurs mysql que je n'arrive pas à corriger en dépit de plus de 22 sujet comportant le même problème sur des forums différents:


    Notice: Undefined variable: sql in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 18
    Call Stack
    # Time Memory Function Location
    1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0


    ( ! ) Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
    Call Stack
    # Time Memory Function Location
    1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0


    ( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
    Call Stack
    # Time Memory Function Location
    1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0
    2 0.0017 367360 mysql_fetch_object ( ) ..\essai-Ajax_mysql.php:19
    merci pour votre aide

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    ligne 18 => il est declaré ou ton $sql ... ???

    ta connexion tu la fait quand ?
    avant ?
    je ne vois pas d'include ni d'appel à une connexion dans ton script ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    je pensais que l'action du script ajax : $.post

    faisait office de connexion entre la page d'affichage des données et la page (lectBDD.php) de connexion à la BDD.

    Si c'est bien le cas ? , j'ai essayé de faire des tests avec l'affichage de $sql pour avoir une réponse de mysql et savoir qu'il y a bien une connexion établie . CE n'est pas le cas

    donc pour répondre à la question: le $sql est dans la page de connexion à la BDD (lectBDD.php)

    la connexion devrait avoir lieu avec le script ajax : ($.post ....).

    merci pour vos réponses et conseils

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    difficile de comprendre ton fonctionnement ...

    tu serialises un td ????
    serialize s'applique à un form si je en m'abuse ...

    verifies les données reçues sur ta page php au moyen d'un
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    je crois effectivement que je n'ai pas compris le fonctionnement de "serialise" , je pensais que ça pouvait remplacer un "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($data = mysql_fetch_object($req)
    ".

    pouvez vous me dire si ce script établit bien une connexion entre ma page qui affiche les données et celle qui établit une connexion avec la BDD ?

    n'ayant pas saisit l’intérêt de serialize je l'ai supprimer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.post('lectBDD.php', function(data) {
      		$('#docpdf').html(data);
    	});
    ( ce script n'établit actuellement pas de connexion entre la page d'affichage des données et le script de connexion à la BDD)

    j'ai sans doute du mal a vous expliquer mon probleme cependant c'est vous même qui m'avez proposez d'utiliser serialize sur #selector (qui est un td).

    ensuite pour cette proposition:
    verifies les données reçues sur ta page php au moyen d'un

    comme je l'ai au tout début de ce sujet, mon problème est le suivant:

    je cherche à récupérer les données d'une base de données avec ajax (jquery) et les afficher dans un "div" contenu dans un "table- tr- td"

    var_dump($_POST) ne sert a rien ici puisque je veux récupérer des données de la bdd et non d'un champ d'un formulaire.

    Normalement le probleme devrait ce situé dans le code ajax, car sans ajax mon script php(connexion à la BDD et recuperation des données) recupere bien l'ensemble des documents stocké dans la BDD.

    Je ne sais plus ou donner de la tête,
    merci de votre patience et de vos explications

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    pour realiser cela tu dois au moyen du post de jquery envoyer les données a ta page php de traitement

    pour simplifier:

    serialize() de jquery retourne une chaine des données d'un formulaire sous forme de string post avec name et value
    que tu recupères donc sur ta page php sous la forme $_POST['name']

    ta page php doit ensuite faire la requete dans la tabla au moyen d'une requete concaténée à partir de tes données POST

    Ensuite tu boucle sur le resultat poru gnerer avec php le code html dont tu fais un echo.

    c'est le string dont tu fais l'echo qui est récupéré dans le data du callback
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    merci, je comprends maintenant "serialize" cependant si j'ai bien lu et compris, cela ne m'est d'aucune utilité pour mon problème puisque serialize recupere les données d'un "form" or, je souhaite récupérer les données d'une base de données mais avec ajax (jquery), si ce script est bon: ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.post('lectBDD.php', function(data) {
      		$('#docpdf').html(data);
    	});
    j'aimerais savoir comment corriger ces erreurs : (puisque j'en comprends le problème, mais sur tout les forums dont le vôtre ou ce même probleme a eu lieu je ne situe pas mon erreur

    Notice: Undefined variable: req in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
    Call Stack
    # Time Memory Function Location
    1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0

    ( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\site-abiazix\remagen\essai-Ajax_mysql.php on line 19
    Call Stack
    # Time Memory Function Location
    1 0.0012 367176 {main}( ) ..\essai-Ajax_mysql.php:0
    2 0.0017 367360 mysql_fetch_object ( ) ..\essai-Ajax_mysql.php:19
    voici la ligne en question et les fichiers php concerné:
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script>
    	$(document).ready(function(){
    		$.post('lectBDD.php', function(data) {
    			$('#docpdf').html(data);
    		});
    	});
    </script>
     
    </head>
     
    <body>
    <?php echo $sql ?>
    <?php while($data = mysql_fetch_object($req)){ ?>
    	<table cellspacing="0" cellpadding="0" width="100%">
              <tr><td id="selector">
              <div id="docpdf" class="separtdoc"><?php echo htmlentities($data->gdoc); ?> </div> <div id="cadrelogo" class="separtdoc"> <img src="images/bt_pdf.png"/> </div>
              </td></tr>
        </table>
     <?php } ?>
    </body>
    </html>
    pour le code ci-dessus, lorsque l'on recupere des données d'une BDD avec ajax est-il nécessaire d'utiliser ce script ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo htmlentities($data->gdoc); ?>
    et le fichier de connexion à la BDD:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("ajout");
    $sql = "SELECT * FROM `save` WHERE `theme` LIKE '3'";
    $req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
    mysql_set_charset('utf8'); 
    ?>

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Pourquoi deux fichiers ?
    je ne vois toujours pas d'include de la connection .

    de plus dans ta boucle while je en vois pas l'intére de coller un tabeau pour chaque enregistrement , boucler sur le tr serait de meilleur gout ...

    Mais chaque chose en son temps ...
    A priori tu n'a pas très bien saisi la portée de chaque langage et leur chronologie :

    Considère php comme une machine à écrire du code html /js
    php est interprété coté serveur et envoi le code html/js vers le navigateur du client où il est interprété.
    Donc une fois chez le client php n'existe plus, mais avant d'arriver chez le client javascript n'existe pas !

    Ensuite à la base je ne vis pas pourquoi tu passes par un ajax post dans le ready de ta page ?? Pourquoi ne pas faire la requete directement cote serveur et rediger le code html à mettre dans le div ??

    Là ce qui se passe c'est que ton php genère le code de la page et l'envoie vers le client , et comme le code de traitement de l'ajax est sur une autre page ton $sql n'existe pas !
    Ce n'est qu'une fois la page chargée coté client qu'il lance le post pour aller rechercher les données sur le serveur ..? quel interet ? pourquoi ne pas recuperer les données avant d'envoyer la page ???

    pourquoi retourner su
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    merci pour vos explications

    Donc apparemment le principe d'afficher une page php dans une autre grâce à Ajax (sans rechargement de la page) n'est pas le même que de récupérer des données d'une BDD mysql et de les afficher , est ce vrai ?

    je pensais que ce que vous dites précédemment était ce que j'avais fait, mais apparemment ce n'est pas le cas, je vous avoue que j'ai toujours eu besoin d'explication par du concret (et vos explications bien que très interressantes ne m’éclaire pas sur la façon de procèder pour faire ce que je souhaite. (je ne suis pas feignant , mais sur plus d'une 50aine de sujets relatant mon problème je ne vois pas ce qui bug chez moi)

    j'espère ne pas vous en demander trop : Pourriez vous me faire une explication schématique et me dire si je suis loin de la solution ou pas , car je veux bien apprendre mais j'ai également un délai de création à respecter,


    encore merci pour vos conseils

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/02/2015, 10h46
  2. Réponses: 5
    Dernier message: 13/06/2014, 14h14
  3. Réponses: 1
    Dernier message: 11/09/2013, 10h44
  4. [Base de donnée] Lire dans une base de données toutes les lignes
    Par Miharu dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/06/2011, 17h08
  5. Réponses: 2
    Dernier message: 16/05/2007, 17h18

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