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

PHP & Base de données Discussion :

[SQL] Affichage des requêtes [Fait]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut [SQL] Affichage des requêtes
    Bonsoir,

    je viens vous voir pour une aide qui doit être simple et basique pour vous moi j'avous je suis un peu nul

    voila j'ai fais un BDD avec 4 colonnes
    id / restauration / produits / prix
    1 / Bar / café /1.20
    2 /Bar /Pression/2.20
    ect......

    j'ai une page php ou j'aimerai afficher les prix alors j'ai suivi quel exemple comme celui ci :

    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
    <?php
    // on se connecte à notre base  
    $base = mysql_connect ('localhost', '....', '.......');  
    mysql_select_db ('........', $base) ;  
    ?>
    <?php
    // lancement de la requete  
    $sql = 'SELECT prix FROM matable WHERE restauration = "Bar"';
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     // on recupere le resultat sous forme d'un tableau  
    $data = mysql_fetch_array($req);  
     // on libère l'espace mémoire alloué pour cette interrogation de la base  
    mysql_free_result ($req);  
    mysql_close ();  
     ?>
    <div id='ligne_carte_produits'><i>Café</i></div>
    <div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
    Bon super ça affiche bien le prix du café
    mais comment afficher les autres prix ?????
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id='ligne_carte_produits'><i>Pression</i></div>
    <div id='ligne_carte_prix'>2.20€</div>
    ????? comment faire ???

    Merci pour votre précieuse aide

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il vous faut une boucle pour exploiter l'ensemble des résultats retournés. Je vous invite à lire le tutoriel : Passer des requêtes MySQL en PHP pour plus de précisions.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    merci pour votre réponse mais comment mettre chaque prix dans les <div> qui leur conrrespond je nage....

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Comme ceci :
    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
    <?php
    // on se connecte à notre base  
    $base = mysql_connect ('localhost', '....', '.......');  
    mysql_select_db ('........', $base) ;  
    // lancement de la requete  
    $sql = 'SELECT produits,prix FROM matable WHERE restauration = "Bar"';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
     // on recupere le resultat sous forme d'un tableau  
    while ($data = mysql_fetch_array($req)) {
    ?>
     
    <div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
    <div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
     
    <?php
    }
     // on libère l'espace mémoire alloué pour cette interrogation de la base  
    mysql_free_result ($req);  
    mysql_close ();
    ?>
    (à vous d'adapter si nécessaire et c'est une écriture parmi d'autres)


  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Ok je commence à comprendre je ne pigais pas bien la methode
    en cas cas merci beaucoup pour ton aide

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Bonjour je reviens vous voir je suis dans cosmos !
    si je fais ç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
    17
    18
    19
    20
    21
    22
     
    <?php
    // on se connecte à notre base  
    $base = mysql_connect ('localhost', '.......', '...........');  
    mysql_select_db ('................', $base) ;  
     
    // lancement de la requete  
    $sql = 'SELECT produits,prix FROM mabase WHERE restauration = "Bar"';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sqlBar.'<br />'.mysql_error());  
     // on recupere le resultat sous forme d'un tableau  
    while ($data = mysql_fetch_array($req)) {
    ?>
     
    <div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
    <div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
     
    <?php
    }
     // on libère l'espace mémoire alloué pour cette interrogation de la base  
    mysql_free_result ($req);  
    mysql_close ();
    ?>
    je ne peux pas recopier ce code pour continuer avec snack ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // lancement de la requete  
    $sql = 'SELECT produits,prix FROM mabase WHERE restauration = "Bar"';
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sqlBar.'<br />'.mysql_error());  
     // on recupere le resultat sous forme d'un tableau  
    while ($data = mysql_fetch_array($req)) {
    ?>
    <div id='ligne_carte_produits'><i><?php echo $data['produits']; ?></i></div>
    <div id='ligne_carte_prix'><?php echo $data['prix']; ?>€</div>
    Vous voyez je suis encore à 15 milles

    Merci pour votre aide

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Oui, admettons mais ça correspond à quoi "Snack" au type de restauration ? Si c'est le cas il vous suffirait de modifier la clause WHERE. Si vous voulez faire la liste des produits par type de restauration une deuxième requête/boucle serait plus appropriée (le champ restauration pourrait être mieux prévu conceptuellement).

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    oui c'est ça j'ai en fait 3 tableaux dans restauration bar-snack-menu
    avec pour chaqu'une les produits et 1es prix bien sur

    j'ai tenté de recoller le code à la suite mais j'ai un message erreur

  9. #9
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par julp
    Si vous voulez faire la liste des produits par type de restauration une deuxième requête/boucle serait plus appropriée (le champ restauration pourrait être mieux prévu conceptuellement).
    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
    <?php
    mysql_connect('localhost', 'utilisateur', 'mot_de_passe');
    mysql_select_db('nom_base_de_données');
     
    $restau_res = mysql_query('SELECT DISTINT(restauration) FROM mabase ORDER BY restauration') or die(mysql_error());
    while ($restau_row = mysql_fetch_row($restau_res)) {
        $prod_res = mysql_query('SELECT produits,prix FROM mabase WHERE restauration = "' . mysql_real_escape_string($restau_row[0]) . '"') or die(mysql_error());
        printf('<div class="restauration"><h2>%s</h2>', $restau_row[0]);
        while ($prod_row = mysql_fetch_assoc($prod_res)) {
            printf('<div id="ligne_carte_produits"><i>%s</i></div><div id="ligne_carte_prix">%s €</div>', $prod_row['produits'], $prod_row['prix']);
        }
        echo '</div>';
    }
     
    mysql_close();
    ?>
    (non testé)

    Citation Envoyé par marquito
    j'ai tenté de recoller le code à la suite mais j'ai un message erreur
    Il faudrait alors nous donner votre code actualisé ainsi que les messages d'erreur

    Note : la valeur d'un attribut id, n'est pas censé apparaître plus d'une fois dans un document (X)HTML : il faudrait sinon penser à utiliser une classe.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Bonsoir, et merci pour tous les explications juste une question comme je suis pas très doué avec le php et la BDD je me posais une question

    est il possible de faire un truc plus simple voir basique et passe partout

    où je pourrais mettre simplement un echo entre mes balises <div> pour avoir le résultat de la base

    comme pour mon exemple:
    va chercher le prix du café dans la table de la BDD et <div>affiche le prix</div>
    va chercher le prix du pastis dans la table de la BDD et <div>affiche le prix</div> et ainsi de suite sans tous ce code que je comprends pas

Discussions similaires

  1. [SQL] Affichage des résultats d'une requête
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/01/2008, 01h39
  2. [SQL] Affichage des valeurs nulles dans un Count
    Par at_first dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2007, 11h07
  3. [SQL] Affichage résultat requête dans un tableau, bouton affichage page
    Par megapacman dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 18/05/2006, 16h42
  4. [SQL] Concaténer des requêtes SQL en PHP
    Par brotelle dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 18/04/2006, 19h53
  5. affichage des requêtes
    Par trotters213 dans le forum Oracle
    Réponses: 6
    Dernier message: 18/11/2005, 12h53

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