No creo que se haya prestado suficiente atención a las consideraciones del esquema que se mencionaron en la publicación original. Entonces, aquí hay algo a considerar para cualquier novato.
Digamos que siguió adelante y creó esta solución. Todos sus valores de baja categoría se combinan en un solo valor y se almacenan en la base de datos. De hecho, está ahorrando [un poco] de espacio en su base de datos y algo de tiempo codificando.
Ahora consideremos que debe realizar la tarea fácil y frecuente de agregar una nueva casilla de verificación entre las casillas de verificación actuales 3 y 4. Su gerente de desarrollo, cliente, lo que sea, espera que esto sea un cambio simple.
Entonces agrega la casilla de verificación a la interfaz de usuario (la parte fácil). Su código de bucle ya concatenaría los valores sin importar cuántas casillas de verificación. También calcula que el campo de su base de datos es solo un varchar u otro tipo de cadena, por lo que también debería estar bien.
¿Qué sucede cuando los clientes o usted intenta ver los datos anteriores al cambio? Básicamente, estás serializando de izquierda a derecha. Sin embargo, ahora los valores después de 3 están todos desfasados en 1 carácter. ¿Qué vas a hacer con todos tus datos existentes? ¿Va a escribir una aplicación, sacarlo todo de la base de datos, procesarlo para agregar un valor predeterminado para la nueva posición de la pregunta y luego almacenarlo todo en la base de datos? ¿Qué sucede cuando tiene varios valores nuevos con una semana o un mes de diferencia? ¿Qué sucede si mueve las ubicaciones y jQuery las procesa en un orden diferente? Todos sus datos se procesan con manguera y deben volver a procesarse para reorganizarlos.
Todo el concepto de NO proporcionar una estrecha relación clave-valor es ludacris y terminará metiéndote en problemas más temprano que tarde. Para aquellos de ustedes que estén considerando esto, por favor no lo hagan. Las otras sugerencias para cambios de esquema están bien. Utilice una tabla secundaria, más campos en la tabla principal, una tabla de preguntas y respuestas, etc. Simplemente no almacene datos no etiquetados cuando la estructura de esos datos esté sujeta a cambios.