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 :

Requête SELECT SQL avec Ajax/Jquery [AJAX]


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2017
    Messages : 44
    Points : 40
    Points
    40
    Par défaut Requête SELECT SQL avec Ajax/Jquery
    bonjour,

    je cherche à récupérer une donnée dans ma BDD Mysql et l'afficher en format html via un click (afin de plus tard utiliser les formulaires).

    Mais je n'arrive pas à trouver la méthode à réaliser

    Je suis débutant en programmation Jvscrip/Ajax. J'utiise Jquery et j'ai essayé ceçi

    Voici mon code jvs (il manque le paramètre data dans ma méthode mais vu que l'action se fait sur un paragrpaphe je n'ai rien à envoyer) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $('p').click(function(event){
     
            $.ajax({
                 dataType: "html",            
                 type: "POST",
                 url: "dbopen.php",
     
                success: function(result)//retour de requête
                 {
                     alert("Record successfully updated");
                 }
             });
        return false;
        })
    ma page 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
    22
    23
    <?php 
     
        try
     
    {  
            $link = new PDO('mysql:host=localhost;dbname=yoyo;charset=utf8', 'root', '',array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));
    }
     
    catch(Exception $e)
     
    {
     
            die('Erreur : '.$e->getMessage());
    }
     
     
    $reponse = $link->query('SELECT MIN(annee) FROM chiffrage');
    $donnees = $reponse->fetch();
    $chiffrage = $donnees['MIN(annee)'];
    $reponse->closeCursor();
    echo '<label>'.$chiffrage.'</label>';
    echo "peace";
    ?>
    Et ma page html :
    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
    <!DOCTYPE html>
     
    <html>
     
        <head>
     
            <meta charset="utf-8" />
     
     
            <title>Sauts de ligne</title>
     
        </head>
     
     
        <body>
     
       	<P>coucou</P>
     
           <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
           <script src="ooo.js"></script>   
        </body>
     
    </html>
    Dans le debugg il n'y a rien et la requete est validé mais le traitement php ne se produit pas ou alors je ne récupère rien.

    Pouvez vous me renseigner là-dessus.

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    merci de mettre les noms des fichiers correspondant à chaque script.

    • As-tu l'alerte "Record successfully updated", ou pas ?
    • Quand tu exécutes le fichier dbopen.php directement, ça dit quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...mais le traitement php ne se produit pas...
    Quel "traitement" ?

  3. #3
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Essaie de nommer le nom du champ qui correspond à MIN(annee) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $reponse = $link->query('SELECT MIN(annee) as toto FROM chiffrage');
    $donnees = $reponse->fetch();
    $chiffrage = $donnees['toto'];
    Voici un exemple de récupération de données à partir d'ajax.

    Code php : 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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>
    <script src="<a href="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script" target="_blank">https://ajax.googleapis.com/ajax/lib...n.js"></script</a>>
    <script language="JavaScript" type="text/javascript">
    <!--
    function ma_fonction(text){
     $.ajax({
     type: "POST",
     url: "test9214b.php",
     dataType: 'html', 
     cache: false,
     success: function(html) {$('#toto').html(html)}
     });
     }
    //-->
    </script>
    </head>
    <body>
    <p id="toto"></p>
    <input type="button" value="ok" onclick="ma_fonction()" />
    </body>
    </html>

    test9124b.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    print "1ère ligne<br/>";
    print "2ème ligne<br/>";
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2017
    Messages : 44
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Quel "traitement" ?
    En fait je n'avais pas activé la section journal dans l'outils du développement du navigateur.

    j'ai appliqué ceci pour mon fichier Jsc(ooo.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
        $('p').click(function(event){
     
    $.ajax({
     
        url       : "dbopen.php",
        type          : "POST",
     
     
        })
     
        .done(function(data){
            //ton code
            console.log(data); // si dans ta page PHP tu as un echo il te faut l'afficher ici la vue "generé" par la page php (page.php)
            $('P').append(data);
     
        })
     
        .fail(function(data){
            //ton code
            console.log(data); //si page.php affiche une erreur tu le ferais dans la console
            console.log("erreur AJAX");
     
    });
         });
    voila mon fichier php(dbopen.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
    22
    23
    <?php 
     
        try
     
    {  
            $link = new PDO('mysql:host=localhost;dbname=yoyo;charset=utf8', 'root', '',array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));
    }
     
    catch(Exception $e)
     
    {
     
            die('Erreur : '.$e->getMessage());
    }
     
     
    $reponse = $link->query('SELECT MIN(annee) FROM chiffrage');
    $donnees = $reponse->fetch();
    $chiffrage = $donnees['MIN(annee)'];
    $reponse->closeCursor();
    echo $chiffrage;
     
    ?>
    il n'y a sur ma page html seulement une balise <P> mais celà fonctionne.

    Je vous amene maintenant vers une seconde question :

    Je souhaite mettre en place un tableau dynamique contenant des informations de la bases de données et pouvant avoir des lignes qui s'incrémentent en fonction d'un pop-up qui va insérer des données . Je sais déjà le faire en php mais je ne vois pas comment le réaliser en AJAX. Dois je appeler via mon script la page php concerné ou utiliser le Json.

    voici le tableau php concerné(tableau_acceuil.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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!DOCTYPE html>
    <html>
       <head>
           <meta charset="UTF-8" />
       </head>     
     
    <body>   
    <table>
                        <tr>
                            <td>WBS/LDP</td>
                            <td>Date de création</td>
                            <td>Utilisateur</td>
                            <td>Derniere modification</td>
                            <td>Statut</td>               
                        </tr>
                        <?php
                        $reponse = $link->query('SELECT p.id_wbs_projet, p.nom_wbs, p.date_de_creation, p.date_derniere_modification, p.Statut, m.identifiant FROM wbs_projet p INNER JOIN membre m ON m.id_membre = p.id_membre');
                        while($donnees = $reponse->fetch()){
                        ?>
                        <tr>        
                            <td><a href="session.php?id=<?php echo $donnees['id_wbs_projet']; ?>"> <?php echo $donnees['nom_wbs']; ?> </a></td>
                            <td><?php echo $donnees['date_de_creation']; ?></td>
                            <td><?php echo $donnees['identifiant']; ?></td>
                            <td><?php echo $donnees['date_derniere_modification']; ?></td>
                            <td><?php echo $donnees['Statut']; ?></td>
                        </tr>
                        <?php
                    }?>       
                    </table>
    </body>
    </html>
    Merci

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

Discussions similaires

  1. Requête sql avec AJAX
    Par Amnael dans le forum AJAX
    Réponses: 1
    Dernier message: 24/01/2016, 12h53
  2. [AJAX] Afficher résultat requête SQL avec ajax
    Par Kevfou dans le forum AJAX
    Réponses: 2
    Dernier message: 01/11/2011, 16h54
  3. [AJAX] Requête SQL avec AJAX
    Par Nanais19 dans le forum AJAX
    Réponses: 5
    Dernier message: 11/07/2011, 16h58
  4. [AJAX] SELECT dynamique avec Ajax et Javascript
    Par staff85 dans le forum AJAX
    Réponses: 4
    Dernier message: 22/10/2010, 16h31
  5. [AJAX] Chargement select liés avec ajax sous IE
    Par alex4488 dans le forum AJAX
    Réponses: 5
    Dernier message: 07/08/2010, 22h58

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