Je ne pense pas que suffisamment de temps soit accordé une attention au schéma considérations mis dans le post original. Donc, ici est quelque chose à prendre en compte pour tout les débutants.
Disons que vous êtes allé de l'avant et construit cette solution. Tous vos petits les valeurs sont conctenated en une seule valeur et stockées dans la base de données. Vous êtes en effet de l'enregistrement [un peu] de l'espace dans votre base de données et du temps de codage.
Maintenant, nous allons considérer que vous devez effectuer fréquent et facile de l'ajout d'une nouvelle case à cocher entre les cases 3 et 4. Votre gestionnaire de développement, le client, quelle que soit s'attend à ce qu'un simple changement.
Si vous ajoutez la case à cocher pour l'INTERFACE utilisateur (la partie la plus facile). Votre code de boucle serait déjà concaténer les valeurs, peu importe combien de cases à cocher. Vous avez aussi la figure de votre champ de base de données est juste un varchar ou d'un autre type de chaîne, donc ça devrait être très bien.
Ce qui se passe lorsque les clients ou que vous essayez d'afficher les données avant de les changer? Vous êtes essentiellement de la sérialisation de gauche à droite. Cependant, maintenant les valeurs après 3 sont tous hors de 1 caractère. Qu'allez-vous faire avec toutes vos données existantes? Allez-vous écrire une application, tirez sur tout l'arrière de la base de données, les traiter pour ajouter une valeur par défaut pour la nouvelle question de la position et de stocker tous de retour dans la base de données? Ce qui se passe quand vous avez plusieurs nouvelles valeurs, une semaine, ou mois d'intervalle? Que faire si vous vous déplacez les lieux et jQuery traite dans un ordre différent? L'ensemble de vos données est modifié et doit être retraité à nouveau pour la réorganiser.
Le concept de ne PAS fournir serré valeur-clé de la relation est de ludacris et la liquidation de vous amener des ennuis, et plutôt tôt que tard. Pour ceux qui songent à cela, s'il vous plaît ne pas. Les autres suggestions pour les modifications de schéma sont beaux. Utiliser une table d'enfant, plus de champs dans la table principale, un question-réponse de table, etc. Il suffit de ne pas stocker des données étiquetées lorsque la structure de données est sujette à changement.