Pb requete code postal

WRInaute occasionnel
Slt à tous!

Je seche sur une requete php :oops:

Pour vous expliquer: j'ai 2 tables, une "produit" et une autre "membre".
Le but est d'afficher les produits des membres residant dans un département choisi et passé en variable dans l'url.

Dans la table membre, j'ai un champs code postal (de 5 chiffres).
Et dans la table produit, j'ai un "membre.id" qui me permet de faire la jonction avec la table membre.

mon problème est donc que je n'arrive pas à afficher les produits des membres résidant dans un déparement type 59 (puisque le code postal dans la table membre contient 5 chiffres type 59500) ...

Voici ma requete sql:
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select * from products INNER JOIN members ON products.membersid = members.id  where members.zip='$zip'";

une idée?

merci!!!
 
WRInaute discret
Bonsoir,

Quelquechose comme ça:
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select * from products INNER JOIN members ON products.membersid = members.id  where LEFT(members.zip,2)='$zip'";

Jean-Denis
 
WRInaute passionné
J'y mettrais plus un

Code:
members.zip LIKE '$zip%'

dans la condition mysql, pour une question de performances ;-)
Mais bon, c'est un détail...
 
WRInaute discret
As-tu essayé cela :
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select * from products WHERE products.membersid IN (SELECT members.id  FROM members WHERE members.zip='$zip')";
 
WRInaute accro
ddpetit a dit:
As-tu essayé cela :
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select * from products WHERE products.membersid IN (SELECT members.id  FROM members WHERE members.zip='$zip')";

Et un petit mysql_real_escape_string($zip) ca serait pas mal pour la sécurité.
 
WRInaute occasionnel
jidébé a dit:
Bonsoir,

Quelquechose comme ça:
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select * from products INNER JOIN members ON products.membersid = members.id  where LEFT(members.zip,2)='$zip'";

Jean-Denis

Parfait ca marche merci!

par contre comme j'ai 2 champs qui porte le mm nom ("id") et que j'ai fait une jonction, je n'arrive pas à distinguer les champs de products de ceux de members.

j'essai ca, mais ca ne me renvoi rien
Code:
$product_id=$rs0["products.id"];
 
WRInaute discret
Bonjour,

Tu peux faire ça:
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select product.id AS produit, members.id AS membre from products INNER JOIN members ON products.membersid = members.id  where LEFT(members.zip,2)='mysql_real_escape_string($zip)'";

Et ensuite tu récupère les valeurs en utilisants les alias (produit ou membre), biensûr dans ce cas là il faut lister dans ta requète l'ensemble des champs que tu veux récupérer.

Jean-Denis
 
WRInaute occasionnel
jidébé a dit:
Bonjour,

Tu peux faire ça:
Code:
$_REQUEST["zip"]="59";
$zip=$_REQUEST["zip"];
$sql="select product.id AS produit, members.id AS membre from products INNER JOIN members ON products.membersid = members.id  where LEFT(members.zip,2)='mysql_real_escape_string($zip)'";

Et ensuite tu récupère les valeurs en utilisants les alias (produit ou membre), biensûr dans ce cas là il faut lister dans ta requète l'ensemble des champs que tu veux récupérer.

Jean-Denis

Génial ca marche!
merci pour votre aide
++
 
Discussions similaires
Haut