cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
20 janv. 2006 à 11:40
cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
20 janv. 2006 à 13:23
Bonjour, j'aimerais avoir un conseil !
Je souhaiterais savoir s'il vaut mieux enregistrer x fois la même valeur dans une base de données ou utiliser un 'switch', je m'explique :
Les membres de mon site peuvent renseigner leur profil via un combobox (liste déroulante de formulaire) contenant : Rouge, bleu, noir, vert, gris.
La valeur de ce combobox est ensuite enregistré dans ma BDD mySQL sous forme :
<valeur du combobox>
J'hésite à stocker l'une des valeurs (Rouge, bleu, noir, vert, gris) dans la colonne <valeur du combobox> ou bien un smallInt et lors de l'affichage du profil procéder comme ceci :
Switch(<valeur du combobox>){
case1: echo "Rouge"; break;
case2: ....}
Etc.
A noter que j'ai une bonne dizaine d'autre combobox de ce style.
Je ne sais pas à quoi cela sert mais le type de valeur ENUM dans la DBB peut-elle gérer des données en "packet" du style : 1, 2, 4, 3 ? Dans ce cas je peut les récupérer et assigner les différentes valeurs avec une boucle.. Non?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 20 janv. 2006 à 13:16
Par ontre j'avais pas pigé que chaque utilisateur pouvaity avoir plusieurs couleurs.
Dans ce cas il faut ujne 3ème table, et les 2 autres sont :
USERS
user_id
user_pseudo
COLORS
color_id
color_libelle
LNK_USR_CL
color_id
user_id
reprenons Paul, (id 1) et les couleurs de la table COLORS. Si Paul a les couleurs bleus (id 2) et rouge (id = 1), on a dans LNK_USR_CL :
1 1
2 1
c'est à dire :
rouge Paul
bleu Paul
Ta requête pour avoir ttes les couleurs de Paul :
$sQuery = '
SELECT
cl.color_libelle
FROM
colors cl,
users usr,
lnk_usr_cl lnk
WHERE
(lnk.user_id = usr.user_id) AND
(lnk.color_id = cl.color_id) AND
(usr.user_id = 1)';
$rRequete = mysql_query ($sQuery);
while ($sRes = mysql_fetch_assoc ($rRequete)) {
echo $sres['color_libelle']; // rouge, puis bleu.
}
cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009 20 janv. 2006 à 13:00
Je comprend pas bien...
USERS
user_id
user_pseudo
color_id
...
statut_id (30 colonnes comme Color_id)
COLORS
color_id
color_libelle
Je vais devoir faire 30 requêtes ?
Recupérer les données (int) de l'user avec un Select * From Users Where user_pseudo=$pseudo
Et puis une fois que j'aurais les valeurs ? Exemple :
USERS
1 Paul 2 4 5 6 7 3 2 1
Je vais devoir faire x requetes pour savoir à quoi correspondent ces valeurs (Du style 2=Bleu pour ce qui conçerne color_id) Non?
Vous n’avez pas trouvé la réponse que vous recherchez ?