PHP Ejemplos

Enviar múltiple Checkbox MySQL con PHP [Ejemplo completo]

Enviar múltiple Checkbox MySQL. En este artículo crearemos un script para Enviar múltiples datos de casilla de verificación a MySQL. Recordemos, que PHP es un lenguaje de programación del lado del servidor diseñado principalmente para el desarrollo web.

Se conecta a la base de datos de manera muy amigable usando varios tipos de conexión. Por lo tanto, esto significa que los desarrolladores pueden escribir su código de manera muy amigable.

Enviar múltiple Checkbox MySQL con PHP
Enviar múltiple Checkbox MySQL con PHP

 

 ¿Qué recursos usaran para el desarrollo?

  1. Descargar e instalar XAMPP o cualquier servidor local que ejecute scripts PHP y MySQL (Si tienen servidor de internet omitir este paso)
  2.  jQuery .- Es necesario para el correcto funcionamiento del script
  3.  Framework Bootstrap .- Hemos usado la version 5 de este maravilloso framework para el entorno de diseño .
  4. Lenguaje PHP.- Encargado de realizar la conexión con la base de datos y almacenar los checkbox en un array usando el método POST.

En este artículo anterior hablamos acerca de enviar Checkbox múltiples pero sin enviar a la base de datos.

Enviar múltiple Checkbox MySQL: Estructura

Para poder desarrollar el presente ejemplo nos guiaremos de la siguiente estructura.

a) Base de datos

Usaremos una base de datos para almacenar los checkbox en una sola columna de manera array y el nombre de base de datos será “db_checkbox“. Además, no se olviden de importar las consultas SQL del script.

CREATE TABLE `personal` (
`per_id` int(11) NOT NULL,
`nombres` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`apellidos` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`pais` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
`programas` text COLLATE utf8mb4_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Tabla personal';

INSERT INTO `personal` (`per_id`, `nombres`, `apellidos`, `pais`, `programas`) VALUES
(1, 'Juan ', 'Merino', 'Argentina', 'PHP, Python, Java');

ALTER TABLE `personal`
ADD PRIMARY KEY (`per_id`);

ALTER TABLE `personal`
MODIFY `per_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

b) Conexión a la base de datos

El nombre del archivo de conexión con mysql será “config.php” y contendrá las credenciales de conexión a mysql mediante el tipo de conexión PDO PHP. Además, podemos usar cualquier tipo de editor de códigos disponibles en internet, por ejemplo:

  • Sublime Text 3
  • bloc de notas ++
  • Visual Studio Code
  • Atom
  • Brackets
<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "db_checkbox";

try {
$db = new PDO("mysql:host={$host};dbname={$dbname}", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $exception){
die("Connection error: " . $exception->getMessage());
}
?>

Index.php .- Creando la interfaz

En este archivo crearemos el formulario principal para nuestra aplicación. Sin embargo, podemos visualizar los registros insertados a la base de datos.

<table class="table table-bordered">
<thead class="btn-primary">
<tr>
<th>#</th>
<th>Nombre</th>
<th>Apellidos</th>
<th>Pais</th>
<th>Programas</th>
</tr>
</thead>
<tbody style="background-color:#fff;">
<?php
require 'config.php';
$query = $db->prepare("SELECT * FROM personal");
$query->execute();

if($query->rowCount() == 0){
echo '<tr>
<td colspan="4"></td>
</tr>';

}else {
$n=0;
$data = $query->fetchAll();
foreach ($data as $value): 
$n++; 
echo '<tr>
<td>'.$n.'</td>
<td>'.$value["nombres"].'</td>
<td>'.$value["apellidos"].'</td>
<td>'.$value["pais"].'</td>
<td>'.$value["programas"].'</td>
</tr>';
endforeach; 
}
$db = null;
?>
</tbody>
</table>

Insertar.php .- Creación de la función principal

Este script será el encargado de procesar la información enviada desde el formulario y si pasa los criterios será almacenada en la base de datos. Por lo tanto, contiene la consulta PHP para insertar en la tabla personal.

Además. convertirá en un array los checkbox y lo almacenará en la columna programas.

<?php
ob_start();
require_once 'config.php';
if(isset($_POST['guardar'])){
$nombres = htmlentities($_POST['nombres']);
$apellidos = htmlentities($_POST['apellidos']);
$pais = htmlentities($_POST['pais']);
$programas = addslashes(implode(", ", $_POST['programas']));

$query = $db->prepare("INSERT INTO `personal`(`nombres`, `apellidos`, `pais`, `programas`)
VALUES (:nombres,:apellidos,:pais,:programas)");
$query->bindParam(":nombres", $nombres);
$query->bindParam(":apellidos", $apellidos);
$query->bindParam(":pais", $pais);
$query->bindParam(":programas", $programas);
$query->execute();
header("location: index.php"); 
}
?>

Conclusión

  • Si observan, la inserción de múltiples casillas de verificación es muy sencilla, solo debemos pasarlos por la función IMPLODE PHP para agregarle (,) y almacenarlo en la base de datos. Esto vendría ser lo complicado, pero como han podido apreciar le dimos solución rápidamente.
  • Hemos usado la conexión PDO para darle mayor seguridad a la conexión MySQL y las demás consultas del script.
  • El desarrollo fue éxito “Enviar múltiples datos de casillas de verificación usando PHP“.

Espero que este sencillo tutorial te ayude en lo que estás buscando.

Descarga 156 Sistemas PHP & MySQL

¿Te gusto el artículo? Puedes apoyarme invitándome un Café

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba