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 :

Lecture sur 2 tables [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de urbalk
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 135
    Par défaut Lecture sur 2 tables
    Bonjour,

    J'ai essaie d'apprendre les jointures, celles-ci on l'air de fonctionner par contre quand je veux afficher les résultats des 2 tables, MySql me retourne X fois le nombre d'enregistrement.

    script:
    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
     
    <body>
    <?php
    echo 'affichage avec jointure de 2 tables<br>';
    $db = mysql_connect('localhost', '_', '_');  // connexion à la base 
    mysql_select_db('testliaison',$db);                  // sélection de la base 
     
    // on crée la requête SQL 
    $sql = 'SELECT nom,titre,url FROM infos, site'; 
     
    // on envoie la requête 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement 
    while($data = mysql_fetch_assoc($req)) 
        { 
        // on affiche les informations de l'enregistrement en cours
    	echo '<b>'.$data['nom'].'</b>'; 
     
        echo ''.$data['url'].''.$data['titre'].'';
     
    	echo '<br>';
        } 
    mysql_close($db);  // on ferme la connexion 
    ?>
    </body>
    </html>
    Résultat:
    Code X : 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
    nomurl du sitetitre 1
    nomurl du sitetitre 1
    nomurl du sitetitre 1
    nomurl du sitetitre 1
    nomurl du sitetitre 1
    brunourl du sitetitre 1
    nomurl du sitetitre 1
    nomurl du sitetitre 1
    nomytitre 2
    nomytitre 2
    nomytitre 2
    nomytitre 2
    nomytitre 2
    brunoytitre 2
    nomytitre 2
    nomytitre 2
    nomygggtitre 3
    nomygggtitre 3
    nomygggtitre 3
    nomygggtitre 3

    Je crois que mon pb est dans la boucle while, mais je ne vois pas ou.

    merci de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 96
    Par défaut
    Salut,

    Dans ton cas tu n'as aucun critère de jointure. Tu fais en gros une multiplication.
    Le problème ne vient pas du while mais de ta requete.

  3. #3
    Membre confirmé Avatar de urbalk
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 135
    Par défaut
    En effet, pas de criteres de jointure

    je me suis appuyer la dessus

    http://mysql.developpez.com/faq/?page=SYNTAXE_JOINTURES

    ca fonctionne
    merci.

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

Discussions similaires

  1. Monitoring - Nombre d'acces en lecture sur une table
    Par hazou dans le forum Administration et Installation
    Réponses: 3
    Dernier message: 13/11/2012, 15h45
  2. [MySQL] Problème de lecture sur plusieurs tables simultanément
    Par jonathanlafl dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/08/2010, 09h15
  3. droits en lecture sur les tables v$
    Par new_angel dans le forum Débuter
    Réponses: 4
    Dernier message: 21/04/2009, 14h51
  4. Réponses: 11
    Dernier message: 28/05/2008, 21h21
  5. Réponses: 2
    Dernier message: 16/05/2006, 14h17

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