array ou varchar ? - PHP - Programmation
Marsh Posté le 23-05-2011 à 17:29:27
Salut, je ne suis pas certain d'avoir compris, mais je vais tenter de t'expliquer les différents types de champs.
Si tu veux stocker des chiffres, il faut utiliser Int ou tinyint, mais en aucun cas varchar réservé aux chaines de caractères.
Pour ma part, quand je suis amené à stocker un le contenu d'un tableau dans une bdd, je serialize() le dit tableau dans un champ de type text, c'est pas forcement le top, mais c'est plus souple que varchar si tu es amené à stocker des tableaux contenant beaucoup de données.
Voici différents articles qui t'expliqueront plus en détails le pourquoi du comment
Choisir le bon type de champ sql - siteduzero.com
Si tu veux en savoir plus sur l’optimisation mysql, voici deux articles qui traites le sujet.
Introduction à l'optimisation MYSQL - apprendre-php.com ainsi que Optimiser mysql.
Sans oublier l'optimisation des requetes php
Marsh Posté le 23-05-2011 à 17:31:03
mais pourquoi ne pas avoir une table de lien ?
(liste_id , article_id)
tes requetes sseront plus simples
Marsh Posté le 23-05-2011 à 17:37:20
flo850 a écrit : mais pourquoi ne pas avoir une table de lien ? |
C'est vrai que je procède déjà comme ça pour les commandes! je sais pas pourquoi j'y ai pas pense
Pour l'instant mes requêtes n'étaient pas complex car il me suffit de faire SELECT .... IN ($liste)
Merci
Si personnes n' a d'autre suggestion le sujet est clos
Marsh Posté le 23-05-2011 à 17:43:51
Euh si en fait, je sais pourquoi j'ai fais ça car ça me permet de modifier cette liste juste avec un input alors qu'avec ta méthode je vois pas commet faire??
Marsh Posté le 23-05-2011 à 17:52:15
tu as ton tableau php avec tes id d'article et ton id de liste ( ou l'inverse , c'est pareil)
Code :
|
Marsh Posté le 23-05-2011 à 18:05:47
flo850 a écrit : tu as ton tableau php avec tes id d'article et ton id de liste ( ou l'inverse , c'est pareil)
|
J'ai l'impression que ça va compliquer tout car pour l'instant j'ai juste ça:
id_liste_libre nom_liste_libre liste_articles description_liste_libre delai_livraison_liste_libre prix_vente_liste_libre
5 ma lite libre 1,2,3,4,5,6 30 jours ouvrés 156
avec ton système je ne peux plus ajouter de champs unique pour une liste
Marsh Posté le 24-05-2011 à 12:09:12
comment ça un champ unique ?
il te suffit de faire un cle unique sur article_id , liste_id
Marsh Posté le 24-05-2011 à 13:00:28
erf, renseigne toi sur les formes normales.
Marsh Posté le 23-05-2011 à 17:07:07
Bonjour à tous!
J'ai une table d’articles et je dois créer une autre table de liste de ces articles
Pour l'instant je mémorise cette liste dans un varchar à partir de leur id : 1,5,6,8,10
Je suis tombé sur la fonction serialize et je me suis dit que je pourrai passer par des array pour cette liste
Qu'elle méthode me conseillez vous?