Salut les amis,
Je developpe un site web en PHP. C'est un site de partage de statut texte, photo avec legende, d'audio, et de videos. J'ai deja implementer toute serie de systeme, et la je suis bloque sur la partie qui concerne le systeme de partage.
ce que j'aimerais savoir plus precisement, c'est comment structurer ma base de donnees pour repondre a toutes ces exigences, faut il que je fasse une table pour chaque partage(une pour le partage de texte, une pour les photos, une pour les audios, et une pour les videos), ou du mois, c'est possible de tout faire au sein d'une seule table?
j'attends vos conseils et vos idees.
Merci!!
Une colonne type avec limite une table en pluce pour les infos (relation hasOne).
Essaie de te poser moins de question à savoir "mon approche est-t-elle la bonne" et expérimente. Tu verras suivant l'évolution de ton code / application si ta structure te limite ou pas. Je vois avec tes derniers sujets que tu manque de confiance sur les structure que tu veux mettre en place ^^ N'hésite pas à sauter le pas et voir avec le temps comment tes choix de structure influe sur l'application.
@Steeve VERDIEU : Je ne vois pas en quoi cela pose un problème. Si dans ta base de données tu stocke un int corresepond au type de contenu (1 => Texte, 2 => Photo, etc.), il te suffit dans ton code d'ajouter une condition par rapport au type de contenu.
Lorsque tu fais un rendu du post, tu aura dans tes données le numéro du type de contenu, il te faudra alors faire une condition pour vérifier la façon dont ils peuvent ou non réagir.
Par exemple si tu décide qu'il est possible de commenter uniquement les textes et les photos mais pas l'audio et les vidéos. Tu vérifiera si type_contenu est égale à 1 ou 2 (ou n'importe quel nombre suivant ce que tu as assigné).
Pourquoi pas avoir un colonne qui t'indiquerait de quel type de partage il s'agit ? Ça pourrait être un numéro. Dans ton code, tu pourrais référencer cette valeur avec une constante afin de t'y retrouver. Puis pour faire varier ton affichage, tu pourrais utiliser une structure de contrôle.
Sinon, est-ce que tu aurais d'autres données qui pourraient variées ?
Non, ma liste de donnees est deja definie: Texte, Photo(avec ou sans legende), audio et video.
J'apprecie ton approche: une colonne qui m'indiquerait de quel type de partage il s'agit.
Mais un probleme peut se poser, je veux que les autres utilisateurs puissent reagir suivant le type de post, sera t-il facile de gerer tout ca en utilisant la structure que tu me proposes?
Ok, je vais proceder comme tu dis. Je pense qu'ainsi ma base de donnees sera plus claire, et plus simple a gerer. Je n'ai qu'eablir une convention pour les types de donnees.
Merci.