[PHP MYSQL]Jointures de tables

Jointures de tables [PHP MYSQL] - PHP - Programmation

Marsh Posté le 06-09-2008 à 11:21:43    

Bonjour,
J'ai un petit problème avec une recherche en PHP dans des tables MYSQL.
Je possède 2 tables :
- BATEAU qui contient le nom du bateau ainsi que l'id du constructeur
- CONSTRUCTEUR qui contient l'id du constructeur ainsi que le nom du constructeur
Lorsque lance une recherche, je souhaiterais afficher tous les bateaux fabriqués par le ou les constructeurs correspondant à la recherche ainsi que tous les modèles de bateaux qui coïncident avec la recherche.
Pour cela, voila ma requette SQL :

Code :
  1. SELECT ref_fiche,model,anne_lance,L_coque,beau_max,nom_const FROM fiche_bateau, constructeur WHERE fiche_bateau.ref_const=constructeur.ref_const AND fiche_bateau.model LIKE '%$const_model%' or nom_const LIKE '%$const_model%' ORDER BY L_coque


Je dois avoir à peu près toutes les entrées qui ressortent.
$const_model est une variable qui contient les informations envoyées par l'utilisateur.
Que dois-je modifier pour résoudre ce problème?
 
Merci d'avance de votre réponse.
JM


---------------
Mon vieux feedback :)
Reply

Marsh Posté le 06-09-2008 à 11:21:43   

Reply

Marsh Posté le 06-09-2008 à 13:38:05    

Bonjour,
 
essai ça :  
SELECT ref_fiche,model,anne_lance,L_coque,beau_max,nom_const FROM fiche_bateau
INNER JOIN constructeur ON fiche_bateau.ref_const=constructeur.ref_const  
WHERE fiche_bateau.model LIKE '%$const_model%'  
OR nom_const LIKE '%$const_model%'  
ORDER BY L_coque

Reply

Marsh Posté le 10-09-2008 à 13:49:36    

Bonjour,
Merci beaucoup pour la réponse, ça marche nickel...


---------------
Mon vieux feedback :)
Reply

Marsh Posté le 10-09-2008 à 14:51:44    

Attention à bien utiliser la fonction mysqli_real_escape_string ou la fonction équivalente de l'extension utiliser pour accéder à la base de donnée.
Ca t'évitera des problèmes d'injection sql.

Reply

Sujets relatifs:

Leave a Replay

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