Requête multitables

cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 16 oct. 2007 à 18:11
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 16 oct. 2007 à 20:40
bonjour,
je souhaiterais faire une requete dans plusieurs tables en même tps.
j'ai une table produit " id . nom . categorie "
et une table categorie "id .nom"
je souhaiterais pouvoir classer les produits parfois par liste alphabétique du nom du produit et des fois par ordre alphabetique du nom de categorie selon ce qu'il ya en GET


je ne sais pas trop comment m'y prendre


voici actuellement en gros mon code (qui ne marche pas) :
<?php
// ordonner par produit ou par catégorie
if(isset($_GET['trier'])){
if ($_GET['trier']==nom_produit)$ordre="ORDER by produit.nom";
if ($_GET['trier']==nom_categorie)$ordre="ORDER by categorie.nom";
} else $ordre='';
// ma requete
$req_produits = mysql_query("select * FROM produit,categorie  ".$ordre." ");
// affichage des produits selon l'ordre
while( $resultat_produit = mysql_fetch_assoc($req_produit)){
echo 'le produit :'.$req_produits['nom'].' se trouve dans la categorie'.$req_produits['nom'].'
';
}
?>


merci de votre aide

3 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 oct. 2007 à 20:15
Hello,

tu devrais donner la structure de tes tables.
Je l'imagine ainsi (en gros):
table produits :
id_produit
nom_produit
...
id_categorie

table categories :
id_categorie
nom_categorie
...

Ta requête :
SELECT prod.nom_produit, cat.nom_categorie
FROM produit prods
LEFT JOIN categories cat ON cat.id_categorie = prod.id_categorie
ORDER BY ...et là : prod.nom_produit OU cat.nom_categorie
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
16 oct. 2007 à 20:27
ma table produit : id,nom, categorie
et ma table categorie : id, nom

merci de votre aide
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 oct. 2007 à 20:40
Ben j'étais pas loin :-)
Bref après, comme tu le montres, tu n'as qu'à récupérer les paramètres d'ordonnancement et tu mets le bon ORDER BY en fonction, en effet.
0
Rejoignez-nous