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 :

Afficher données Mysql avec PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut Afficher données Mysql avec PHP
    Bonjour,

    J'ai créer une base de donnée MySQL de citations et de proverbes pour mon site, mais je ne sais pas comment prendre les citation de ma base pour les afficher sur mon site en php.

    Ma BDD comporte 5 tables:
    -Auteur:
    => avec 2 champs, "id" et nom"
    -citations:
    => avec 4 champs, "id", "id_auteur", "id_cat_cit" et "citation"
    -cat_citation
    => avec 2 champs, "id" et "cat_cit"
    -proverbes:
    => avec 3 champs, "id", "id_cat_prov" et "proverbe"
    -cat_proverbe:
    => avec 2 champs, "id", "cat_prov"

    Je voudrais donc afficher les citations et les proverbes avec le nom de leur auteurs.

    Je crois que ça démarre avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    mysql_connect('srv', 'login', 'password');  
    mysql_select_db('name_bdd');                    
     
    mysql_close($db);  
    ?>
    Mais il manque le principal.

    Merci de m'aider.
    Cordialement

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Pour afficher toutes les citations, tu peux faire la requete suivante (au passage, il doit te manque le nom de la catégorie citation dans la table cat_citation).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $requete="select citations.id,citations.citation, auteur.nom from cat_citation,citations,auteur where citations.id_auteur=auteur.id and citations.id_cat_cit=cat_citation.cat_cit";
    $ressource=mysql_query($requete);
    if($ressource){
       while($liste_citations=mysql_fetch_assoc($exe)){
            echo $liste_citations[citation].' par '.$liste_citations[nom];
       }
    }

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Au passage, je te laisse une petite explication sur la requete.
    On demande en fait de sélectionner (SELECT) le nom de l'auteur et la citation parmi (FROM) les tables citations, cat_citation et auteur pour lesquelles (WHERE) l'id_auteur de la table citation correspond à l'auteur de la table auteur et l'id_cat_cit de la table citation correspond à la catégorie id_cat de la table cat_citation.

    Je te conseille toutefois de jeter un oeil à des tutoriels que les bases de données relationnelles et sur le language MYSQL car tu risques d'en avoir besoin.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut
    Ça donnerait donc ç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
     
    <?php
    mysql_connect('srv', 'login', 'password');  
    mysql_select_db('name_bdd');                    
     
    $requete="select citations.id,citations.citation, auteur.nom from cat_citation,citations,auteur where citations.id_auteur=auteur.id and citations.id_cat_cit=cat_citation.cat_cit";
    $ressource=mysql_query($requete);
    if($ressource)
     {
       while($liste_citations=mysql_fetch_assoc($exe))
           {
           echo $liste_citations[citation].' par '.$liste_citations[nom];
            }
     }
     
    mysql_close($db);  
    ?>

  5. #5
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    D'ou vient cette variable? $exe?

    ne serait ce pas plustot $ressource?

  6. #6
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut
    Arf je suis perdu...

    Que dois-je changer dans ce code?
    (j'ai mis en gras ce que je pense devoir changer par leurs valeurs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $requete="select citations.id,citations.citation, auteur.nom from cat_citation,citations,auteur where citations.id_auteur=auteur.id and citations.id_cat_cit=cat_citation.cat_cit";
    $ressource=mysql_query($requete);
    if($ressource)
     {
       while($liste_citations=mysql_fetch_assoc($ressource))
           {
           echo $liste_citations[citation].' par '.$liste_citations[nom];
            }
     }
    J'ai télécharger le cour Mysql de CyberZoïde et je suis en train de le lire mais y'a trop d'infos d'un coup alors si vous pouviez m'aider en attendant ^^

    Merci de votre aide.

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Par défaut
    Le script entier donnerais ç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
    <?php
    mysql_connect('srv', 'login', 'passwd');  
    mysql_select_db('bdd_name');                    
     
    $requete="select citations.id,citations.citation, auteur.nom 
              from cat_citation,citations,auteur 
              where citations.id_auteur=auteur.id and citations.id_cat_cit=cat_citation.cat_cit";
    $ressource=mysql_query($requete);
    if($ressource){
       while($liste_citations=mysql_fetch_assoc($ressource)){
            echo $liste_citations[citation].' par '.$liste_citations[nom];
       }
    }
     
    mysql_close();  
    ?>
    Mais ça n'affiche rien!

  8. #8
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Par défaut
    C'est normal que cela n'affiche rien.Ta requete n'est pas bonne à mon avis...

    Ton 'where' aparemment n'est pas super.. .tu n'as pas selectionné (SELECT) citations.id_auteur mais tu essaies de l'utiliser dans ton where mysql ne la pas selectionner du coup ne peux pas faire de where et rencoit du vide....

    soit tu rajoutes dans ton select les champs que tu utilises dans ton where soit tu fais ceci mais moins optimisé est celle-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $requete="select * from table1,table2 
              where table1.clolonne1=table2.colonne2 and...blablaaa..........";

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/10/2013, 13h32
  2. Réponses: 3
    Dernier message: 15/10/2012, 15h19
  3. [MySQL] probleme de replication de base donnée mysql avec php
    Par christclamard dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/02/2008, 20h42
  4. Problème de copie d'une base de données MySQL avec PHP
    Par rheem dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 15/10/2007, 14h52
  5. Réponses: 1
    Dernier message: 31/01/2007, 11h59

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