8792 sujets

Développement web côté serveur, CMS

Bonjour, j'ai créé une base de données pour un site d'annonces immobilières.
Les types d'offre (appartement, maison, terrain...) dans la table sont stockés sous la forme 1, 2, 3... Chaque chiffre est associé à un type d'offre. Comment faire lors de l'affichage des résultats pour indiquer que "1" correspond à "appartement", "2" à "maison"... Merci par avance.
Heu, pourquoi tu ne le mets pas dans ta base ?

Tu auras dans ta base une table "offre" par exemple contenant :

id_offre en clé primaire et nom_offre

id_offre: 1
nom_offre : appartement

id_offre : 2
nom_offre : maison

et ainsi de suite.

Enfin, dans la table déjà existante, tu recupères avec une clé étrangére (donc id_offre ).

Ensuite, dans ta requète, tu n'auras qu'a faire un inner join.


$sql = SELECT * FROM table1 INNER JOIN offre ON table1.id_offre = offre.id_offre;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error())


Et tu demandes dans l'affichage d'afficher nom_offre, il affichera automatiquement la bonne offre a chaque "produit", si tu ne t'es pas trompé dans la clé étrangère. Smiley cligne
Modifié par TheReverendEVIL (19 May 2006 - 15:54)
Merci pour ta réponse, mais en fait, les données ont été insérées à partir d'un fichier XML, lui même généré par mon logiciel immobilier, du coup, je n'ai pas eu le choix et je me retrouve avec des "1", "2", "3" ou "4" dans la table.

Je n'ai pas réussi à créer un parseur pour importer moi même les données XML dans plusieurs tables, du coup j'ai utilisé le logiciel Navicat, qui lui ne permet d'insérer que dans une table unique Smiley sweatdrop
Houlà...dur. Smiley confus

Heu...il faut se depatouiller avec des variables ou alors...peut être des conditions (ce qui risque d'être lourd), genre :


if (nomduchamp == 1) {
echo "appartement";
}
...


Dans l'immediat, rien d'autre ne me vient a l'esprit. Smiley ohwell
Merci beaucoup pour ta réponse en tout cas, je vais faire comme ça en attendant d'être plus copain avec XML Smiley biggrin