Bonjour,
je voudrais faire en une seule requête ce que je n'arrive à faire qu'en deux, mais je ne vois pas comment. J'ai tenté les jointures mais sur MySQL et avec l'usage de DISTINCT rien ne marche.. JOIN pas mieux.
Le code suivant marche mais je ne trouve pas ça très performant en fait ...
- J'extrais les numéros de département d'un annuaire et je veux que le nom de ces départements apparaissent. Ces noms sont dans une autre table nommée départements. Je sais c'est tout bête mais je bloque.
Pour le moment j'utilise DISTINCT pour récupérer les No, je les places dans un tableau pour m'en servir sur une seconde requête.
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 // on recupère les No de departement de l'annuaire $sql1="SELECT DISTINCT(departement) FROM annuaire ORDER BY departement ASC"; $query1=mysql_query($sql1) or die(mysql_error()); for($i=0; $i < $val1 = mysql_fetch_array($query1); $i++){ // on les mets dans un tableau $departement[$i]= $val1["departement"]; } // on trie le tableau sort($departement); //print_r($departement); // on récupère les nom de département par le No dans la table departements for($j=0; $j < sizeof($departement); $j++){ $sql3="SELECT iddepartements, nom FROM departements WHERE departements.iddepartements = '".$departement[$j]."'"; $query3=mysql_query($sql3) or die(mysql_error()); $val3 = mysql_fetch_array($query3); // second tableau qui contient No et nom des départements $departement_2[$val3["iddepartements"]] = $val3["nom"]; }
Partager