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

Langage SQL Discussion :

requêtes sql sur plusieurs tables


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 20
    Points
    20
    Par défaut requêtes sql sur plusieurs tables
    slt les gar
    j ai 3 tables: produit(codepro, libpro), abonnes(codeabon, desabon) et abonnement(codepro, codeabon).
    je veux afficher a partir de la table abonnement la liste des produits d un abonne de codeabon quelconque
    merci voici mon code
    [code<?php
    session_start();

    // si la variable de session "pseudo" n'existe pas, le visiteur
    // n'a rien à faire ici
    if(!isset($_SESSION['pseudo']))
    {
    header("location: index.php"); // redirection
    exit; // arrêt du script
    }
    echo 'Bienvenue dans la zone membre, ' . $_SESSION['pseudo'] . '<br>';
    $codeabon=$_SESSION['pseudo'];
    $db = mysql_connect('localhost', 'root', ''); // connexion à la base
    mysql_select_db('sodexam',$db); // sélection de la base
    // création de la requête
    $sql= mysql_query("SELECT codeabon, debabon, finabon, codepro
    FROM produit AS codepro INNER JOIN (
    abonnes AS codeabon INNER JOIN abonnement as codeabon
    ON (abonnes.codeabon = abonnements.codeabon)
    ) ON (produits.codepro = abonnements.codepro)
    WHERE abonnes.codeabon = '$codeabon'");
    $result= mysql_query($sql);
    //affichage resultat
    if($result)
    {while ($ligne= mysql_fetch_array($result))
    {
    $codeabon=$ligne["codeabon"];
    $debabon=$ligne["debabon"];
    $finabon=$ligne["finabon"];
    $codepro=$ligne["codepro"];
    echo"<br>";
    echo"$codeabon $debabon $finabon <br>";
    }
    }else{echo"Erreur !!!";}
    echo '<a href="log.php?action=logout">Logout</a><br><br>';
    ?>[/code]

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 136
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    wow c'est un peu obscur tout ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $q = "SELECT p.codeabon, p.debabon, p.finabon, p.codepro ";
    $q .= "FROM produit p, abonnes a, abonnement ab ";
    $q .= "WHERE p.codepro = ab.codepro AND ";
    $q .= "a.codeabon = ab.codeabon AND a.codeabon = '$codeabon' ";
    if ($r = mysql_query($q))
      while ($d = mysql_fetch_assoc($r));
     
    echo "<pre>\n";
    print_r($d);
    echo "</pre>\n";
    essayes voir ça

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    merci mon gar
    explique moi un peu c'est quoi le "p" dans p.codeabon, "a" dans a.codeabon et "ab" dans ab.codeabon?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Points : 91
    Points
    91
    Par défaut
    Les "p", "a" et "ab" sont des alias des tables, des raccourcis qui permettent de définir à quelle table appartient tel attribut.

    On les définit dans le from, ici
    FROM produit p, abonnes a, abonnement ab
    p.codeabon définit donc "le champ codeabon de la table produit".

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Règle du forum : pas de code php ici, que du code SQL.

    merci !
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. [AC-2003] Traduction en VBA d'une requête Sélection SQL sur plusieurs tables
    Par Pucho Faritas dans le forum VBA Access
    Réponses: 9
    Dernier message: 29/10/2009, 10h32
  2. [SQL] Requête complexe sur plusieurs tables
    Par BFH dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/09/2007, 16h21
  3. [SQL] requêtes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/11/2005, 16h32
  4. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 17h50
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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