Relation entre 2 tables

cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007 - 3 sept. 2004 à 21:04
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010 - 6 sept. 2004 à 22:50
slt !!!

voila G un pb pour mettre 2 tables en relations ... je ne sais pas trop comment m'y prendre. G une table commandes avec un champ client_id et une deuxieme table clients ou il y a egalement champ client_id ...et je voudrais en affichant ma commande, que si le client_id de la table commande et le client_id de la table client sont identiques alors il affiche le nom de la table client.
j'espere que vous m'avez compris

voici mon code mais ca n'a pas l'air de marcher
<?
$commande_id = $_GET['commande_id'];
$connexion=mysql_connect('localhost','root','');
mysql_select_db('db', $connexion);
$req_commandes = mysql_query("SELECT * FROM commandes WHERE commande_id='$commande_id'");
$req_client = mysql_query("select* FROM clients ");
$client_id['client_id']="";
mysql_close($connexion);

?>
<html><head></head>

<? $resultatscommande = mysql_fetch_array($req_commandes); 
$resultatsclient =mysql_fetch_array($req_client);
if($resultatsclient['client_id']  ==  $resultatscommande['client_id'])
{
echo $resultatsclient['nom'];
}

?>



merci de votre aide

rastagnol

4 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
3 sept. 2004 à 23:49
Utilise une requete du genre :

SELECT * FROM commandes,clients WHERE commandes.commande_id='$commande_id' AND commandes.client_id=clients.client_id;


Tu obtiendra un enregistrement contenant toutes les infos de la commande et celles du client correpondant.

?-) Grrrrrrrrrrr ?-)
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
6 sept. 2004 à 16:10
Euh il me semble qu'il faut utiliser un truc qui s'appelle left join... mais il vaux mieux que tu regarde dans la doc mysql... sur nexen par exemple (c'est en fr) www.nexen.net.

Florian
cs_rastagnol Messages postés 59 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 25 octobre 2007
6 sept. 2004 à 22:29
et ya pas plus simple?
parce que dans mon exemple G aussi besoin de $resultats_commande ... C pour ca que
SELECT * FROM commandes,clients WHERE commandes.commande_id='$commande_id' AND commandes.client_id=clients.client_id;

me semble pas tres judicieux

merci de votre aide

rastagnol
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
6 sept. 2004 à 22:50
Dans ton exemple $resultat_commande contient toutes les infos de la commande dont le commande_id est $commande_id , c'est bien ça?

Avec la requete que je t'ai donné tu obtient ces meme infos avec en plus toutes les infos du client correspondant.

?-) Grrrrrrrrrrr ?-)
Rejoignez-nous