requête multitables

requête multitables - PHP - Programmation

Marsh Posté le 16-10-2007 à 17:59:03    

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) :

Code :
  1. <?
  2. // ordonner par produit ou par catégorie  
  3. if(isset($_GET['trier'])){
  4. if ($_GET['trier']==nom_produit)$ordre="ORDER by produit.nom";
  5. if ($_GET['trier']==nom_categorie)$ordre="ORDER by categorie.nom";
  6. } else $ordre='';
  7. // ma requete
  8. $req_produits = mysql_query("select * FROM produit,categorie  ".$ordre." " );
  9. // affichage des produits selon l'ordre
  10. while( $resultat_produit = mysql_fetch_assoc($req_produit)){
  11. echo 'le produit :'.$resultat_produit['nom'].' se trouve dans la categorie'.$resultat_produit['nom'].'<br>';
  12. }
  13. ?>


 
merci de votre aide


Message édité par est_L le 16-10-2007 à 21:07:14
Reply

Marsh Posté le 16-10-2007 à 17:59:03   

Reply

Marsh Posté le 16-10-2007 à 18:41:15    

Code :
  1. if ($_GET['trier']=="nom_produit" )$ordre="ORDER by produit.nom";
  2. if ($_GET['trier']=="nom_categorie" )$ordre="ORDER by categorie.nom";
 

plutôt non ?


Message édité par naceroth le 16-10-2007 à 18:41:50
Reply

Marsh Posté le 16-10-2007 à 21:05:34    

oui désolé pour l'erreur de frappe,
mais mon probleme est dans la requete ...

Code :
  1. <?
  2. // ordonner par produit ou par catégorie   
  3. if(isset($_GET['trier'])){
  4. if ($_GET['trier']=="nom_produit" )$ordre="ORDER by produit.nom";
  5. if ($_GET['trier']=="nom_categorie" )$ordre="ORDER by categorie.nom";
  6. } else $ordre='';
  7. // ma requete  
  8. $req_produits = mysql_query("select * FROM produit,categorie  ".$ordre." " );
  9. // affichage des produits selon l'ordre  
  10. while( $resultat_produit = mysql_fetch_assoc($req_produit)){
  11. echo 'le produit :'.$resultat_produit['nom'].' se trouve dans la categorie'.$resultat_produit['nom'].'<br>';
  12. }
  13. ?>


 
merci de votre aide

Message cité 1 fois
Message édité par est_L le 16-10-2007 à 21:06:38
Reply

Marsh Posté le 16-10-2007 à 22:39:35    

est_L a écrit :

oui désolé pour l'erreur de frappe,
mais mon probleme est dans la requete ...

 

Ben faudrait préciser le problème alors.

 

A relire le 1er post, il manque peut-être une jointure dans ta requête, style (juste la requête, évite quand même le select * si tu peux)

 
Code :
  1. select * from produit left join categorie on produit.categorie = categorie.id order by trucmuche
 

mais sinon, je vois rien d'anormal.


Message édité par naceroth le 16-10-2007 à 22:40:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed