Mysql fetch assoc pour relation 1-1

Mysql fetch assoc pour relation 1-1 - PHP - Programmation

Marsh Posté le 26-01-2007 à 09:30:50    

Bonjour,  
je gere un base sql sous mysql avec quelques tables.
Les 2 tables qui nous interesserons pour mon cas sont la table LIEU et NATURE.
 
Un lieu peut être de une et une seul nature (nature : appartement, maison etc)
Une nature peut caractériser 0 ou N lieu.
 
Donc je voudrais afficher la nature du lieu quand je fais un  
 
SELECT * FROM LIEU met bien entendu j'ai un 1 ou 2 ou 3 qui s'affiche vu ue c'est du 1-1.
 
J'aurais voulu savoir comment afficher en toute lettre la nature : APPARTEMENT.
 
Je pensais faire un :
 
$req3 = mysql_query("SELECT nom_nature FROM NATURE WHERE num_nature = '$result = mysql_result($req2, 0, 1).'" );
 
Mais on me la fortement déconseillé.
On m'a dit de passer par un fetch assoc qui serait plus efficasse...mais je dois dire que j'ai du mal avec cette fonction  J'ai regardé sur php.net mais je ne comprends toujours pas comment l'utiliser.
 
J'espere que quelqu'un pourra m'éclairer.
 
Merci d'avance

Reply

Marsh Posté le 26-01-2007 à 09:30:50   

Reply

Marsh Posté le 26-01-2007 à 10:11:17    

Imaginons que tu aies les deux tables suivantes:
 
Nature:
id (type entier, de préférence automatique)
nom (type VARCHAR(x) ou CHAR(x))
 
Lieu:
id (type entier, éventuellement automatique)
nature_id (type entier)
 
Alors, ta reqête SQL est la suivante:
 
SELECT l.id, n.nom, (tous les champs que tu veux ici)
FROM Nature n, Lieu l
WHERE n.id=l.nature_id

Reply

Marsh Posté le 26-01-2007 à 10:13:39    

tu peux jeter un oeil sur l'excellent topic de magicBuzz sur les jointures, tout y est très bien expliqué:
http://forum.hardware.fr/hfr/Progr [...] m#t1495691

Reply

Sujets relatifs:

Leave a Replay

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