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

Requêtes MySQL Discussion :

Extraire les données de 2 tables avec un seule requête


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut Extraire les données de 2 tables avec un seule requête
    Salut,

    J'aimerais savoir la syntaxe pour extraire les données de deux tables différentes (data et categories) dans une seule requete merci

    jai essayer comme sa mais sa marche pas

    $recup = "SELECT * FROM data,categories WHERE nomdatabase IN ('$nomdatabase') AND categories IN ('$categories') ORDER BY nomdata ASC " ;
    $envoi = mysql_query($recup);
    while($tableau = mysql_fetch_array($envoi))

  2. #2
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bonjour,

    Il faut transformer les tableaux en chaine de caractère en utilisant par exemple la fonction implode. D'après ton code, je pense que la glue serait : ',' (les 3 caractères, pas seulement la virgule).
    Pensez au tag

  3. #3
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Salut,


    SELECT Table1.ch1, Table2.ch2 FROM Table1,Table2 WHERE .....
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  4. #4
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    je comprends pas très bien la fonction implode mais est ce qu'il faudrait que je fasse cela :

    $recup = "SELECT * FROM 'data','categories' WHERE nomdatabase IN ('$nomdatabase') AND categories IN ('$categories') ORDER BY nomdata ASC " ;

  5. #5
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Je comprends rien à ta requête pourquoi tu mets des quotes sur tes noms de table ?? et tu récupères où tes '$nomdatabase' et '$catégories'
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  6. #6
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    je comprend pas ce que Adjanakis veut dire

  7. #7
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Tu utilises PHP ??

    Est ce que tes 2 tables sont liées entre elles ??

    Le résultat de ta requête est un jeu d'enregistrement ; tu dois le lire avec tion langage.
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  8. #8
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    J'utilise php et les 2 tables sont dans la meme base de données

  9. #9
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Le traitement ce fait comme cela en PHP/MYSQL :

    $result = mysql_query("SELECT Table1.champ1, Table2.champ2 FROM Table1,Table2");

    while ($ligne = mysql_fetch_array($result)) {
    echo $ligne[0];
    echo $ligne[1];

    }
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  10. #10
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    Je ne sais pas la syntaxe exact pourrait tu me dire l'erreur plz
    Pour que tu puisse maider plus facilement voici tout le bout de code :

    $recup = "SELECT * FROM data,categories WHERE nomdatabase IN ('$nomdatabase') AND categories IN ('$categories') ORDER BY nomdata ASC " ;
    $envoi = mysql_query($recup);

    while($tableau = mysql_fetch_array($envoi))

    {

    $nomdata = $tableau['nomdata'];
    $imgdata = $tableau['imgdata'];
    $data1 = $tableau['data1'];
    $data2 = $tableau['data2'];
    $data3 = $tableau['data3'];
    $data4 = $tableau['data4'];
    $data5 = $tableau['data5'];
    $data6 = $tableau['data6'];
    $data7 = $tableau['data7'];
    $data8 = $tableau['data8'];
    $data9 = $tableau['data9'];
    $data10 = $tableau['data10'];
    $data11 = $tableau['data11'];
    $data12 = $tableau['data12'];
    $data13 = $tableau['data13'];
    $data14 = $tableau['data14'];
    $data15 = $tableau['data15'];
    $datawidth = $tableau['datawidth'];
    $dataheight = $tableau['dataheight'];

    $info1 = $tableau['info1'];
    $info2 = $tableau['info2'];
    $info3 = $tableau['info3'];
    $info4 = $tableau['info4'];
    $info5 = $tableau['info5'];
    $info6 = $tableau['info6'];
    $info7 = $tableau['info7'];
    $info8 = $tableau['info8'];
    $info9 = $tableau['info9'];
    $info10 = $tableau['info10'];
    $info11 = $tableau['info11'];
    $info12 = $tableau['info12'];
    $info13 = $tableau['info13'];
    $info14 = $tableau['info14'];
    $info15 = $tableau['info115'];


    echo"<table width='550' border='1' cellspacing='1'>
    <tr>
    <td width='550' colspan='2'><center>$nomdata</center></td>
    </tr>
    <tr>
    <td width='125'><center><img src='$imgdata' width='$datawidth' height='$dataheight' alt='$nomdata'></center></td>
    <td width='425'>
    ";

    if($info1!="")
    {
    echo"$info1 : $data1<br>";
    }
    if($info2!="")
    {
    echo"$info2 : $data2<br>";
    }
    if($info3!="")
    {
    echo"$info3 : $data3<br>";
    }
    if($info4!="")
    {
    echo"$info4 : $data4<br>";
    }
    if($info5!="")
    {
    echo"$info5 : $data5<br>";
    }
    if($info6!="")
    {
    echo"$info6 : $data6<br>";
    }
    if($info7!="")
    {
    echo"$info7 : $data7<br>";
    }
    if($info8!="")
    {
    echo"$info8 : $data8<br>";
    }
    if($info9!="")
    {
    echo"$info9 : $data9<br>";
    }
    if($info10!="")
    {
    echo"$info10 : $data10<br>";
    }
    if($info11!="")
    {
    echo"$info11 : $data11<br>";
    }
    if($info12!="")
    {
    echo"$info12 : $data12<br>";
    }
    if($info13!="")
    {
    echo"$info13 : $data13<br>";
    }
    if($info14!="")
    {
    echo"$info14 : $data14<br>";
    }
    if($info15!="")
    {
    echo"$info15 : $data15<br>";
    }

    echo"
    </td>

    </tr>
    </table>
    ";

    }

  11. #11
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    C'est quoi '$nomdatabase' et '$categories'
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  12. #12
    Membre du Club Avatar de tyarak
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Points : 60
    Points
    60
    Par défaut
    $nomdatabase C,est exemple et $categories c'est monstres qui égale chacune une valeur dans la table

    si je mets FROM data au lieu de FROM data, categories sa marche mais sa extrait juste les données de data pas de catégories mais y faut que sa extrait les deux pour que sa marche

  13. #13
    Membre expérimenté
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Points : 1 351
    Points
    1 351
    Par défaut
    Bon ok, je reprend moi vite alors(surtout que j'ai peut etre loupé un truc). Peux-tu nous dire ce que retourne ceci juste après avoir créé la requête ?

    Pensez au tag

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/02/2014, 11h10
  2. Permutter les donnée dans une table avec Kettle
    Par imanoual dans le forum kettle/PDI
    Réponses: 4
    Dernier message: 16/09/2008, 16h56
  3. Ecraser les données d'une table avec la commande bcp
    Par créolie dans le forum Outils
    Réponses: 2
    Dernier message: 13/08/2008, 15h06
  4. Réponses: 9
    Dernier message: 28/05/2008, 15h29
  5. Réponses: 1
    Dernier message: 26/01/2007, 08h15

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