Yo lo haria de la siguiente manera
crearia una tabla llamada necesidades
en ella pondria todas las necesidades, llamemoslas columnas mas su campo id y su campo idusuario.(id usuario indica a que usuario corresponden esas necesidades)
entonces a la hora de guardar las necesidades de cada usuario solo pondria true o false a cada columna segun las palomitas del checkbox
entonces cuando muestres las necesidad solo muestras el nombre de la columna.
el nombre de la columna va a hacer el nombre que tu le asignes.
como no permite espacios puedes hacer esto
necesidad_1 le pones guion
haces la consulta
entonces ya solo lees las columnas que te regresa en vez de los datos
seria asi
donde indice de columna es el numero del campo, osea si tienes 5 necesidades seria 0,1,2,3,4
entonces ya cuando quieras mostrar el nombre usarias el
para reemplazar los guiones por espacios de la columna