Php mysql recherche dans plusieurs tables dans une seule requête

Résolu/Fermé
ggf - 14 juil. 2013 à 13:48
arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 - 15 juil. 2013 à 16:31
Bonjour,

Dans un formulaire l'utilisateur choisi un numéro ce numéro est l'ide d'un nom pour le traitement du formulaire il faut associer le nom à l'ID sélectionné dans la liste déroulante cela donne une requête comme SELECT nom FROM logiciel WHERE id_nom = '$id_logiciel'.
Dans le formulaire il y a une deuxième liste déroulante sélectionnant l'ID d'une catégorie, dans le traitement du formulaire il faut donc faire correspondre l'ID de la catégorie au nom de la catégorie correspondante à l'ID donc requête du genre SELECT nom FROM categorie WHERE id = '$id_categorie' mais comment traiter ces deux requête en une seule ?

merci d'avance
A voir également:

2 réponses

arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 341
14 juil. 2013 à 14:09
Bonjour,

SELECT nom from logiciel NATURAL JOIN categorie where id= '$id_categorie' AND id_nom = '$id_logiciel';
0
après une boucle pour récupérer les valeur, les valeur issues de la première table son bien récupérées mais pas celle de la deuxième table
0
arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 341
14 juil. 2013 à 15:22
Il faudra les récupérer en même temps, les valeurs des 2 tables sont sur la même ligne ;)
0
elle sont déjà récupérées en même temps (je crois) :

// on crée la requete SQL
$sql = "SELECT categorie from categorie NATURAL JOIN sous_categorie where id_sous_categorie= '$sous_categorie' AND id_categorie = '$categorie'";

// 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_array($req)) 
    {
   $categorie = $data['categorie'];
   $sous_categorie = $data['sous_categorie'];
    // on affiche les informations de l'enregistrement en cours
    } 
0
arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 341
14 juil. 2013 à 16:04
Et dans $sous_categorie tu as quoi comme valeur ?
0
echo $sous_categorie; donne rien donc la valeur est vide
0
arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 341
14 juil. 2013 à 16:12
En en faisant la même requête avec un client MySQL classique, même constat où tu as bien un résultat ?
0