Resultado de imagen para php
index.html
Lo que vemos son 3 campos tipo checkbox llamados: color_rojo, color_azul y color_verde, típicamente recuperaríamos los valores de los campos de la siguiente forma:
proceso_colores.php
Esto es bueno siempre que nuestros campos sean independientes, pero que sucede cuando queremos seleccionar multiples valores ? tendriamos que recuperar en nuestro código PHP todas las variables… y si el campo es cargado dinámicamente? o si los valores posibles son variables?… todo esto genera sin dudas trabajo extra, dado que tendríamos que retocar el código cada vez que algo cambie.
Por suerte, existe una forma sencilla de trabajar con este tipo de campos; ahora veremos que cambios debemos hacer en nuestros archivos .
index.html
Nótese que cambiamos los nombres de los checkboxes y agregamos los paréntesis rectos [], ahora todos se llaman colores[], al hacer esto el intérprete de PHP almacena todos los valores chequeados en el array colores[] lo que nos permite hacer lo siguiente:
proceso_colores.php
El código anterior recupera la variable colores (que ahora es un array y tiene cargados los valores chequeados); luego usamos la función implode para generar una cadena de texto y poder mostrarla.
Ahora que sabemos como trabajar con este tipo de campos, vamos a ver un ejemplo donde generamos una cadena para usarla en una sentencia SQL
proceso_colores.php
Lo que hacemos es recuperar la variable e iterar sobre el array para poner en cada valor las comillas correspondientes; luego, guardamos las cadenas nuevamente en un array auxiliar y finalmente usamos la función implode para agregar las comas. La cadena generada se concatena en la sentencia INSERT y listo.
Podemos ver que es una técnica muy util ya que nos permite manejar este tipo de campos variables de forma simple. Además, hace nuestro código mas reusable ya que ahora no tenemos que cambiar nada en el caso que se agreguen mas valores.