0% encontró este documento útil (0 votos)
366 vistas9 páginas

CRUD PHP PDO BootStrap Modal

Este artículo comparto una CRUD (Create, Read, Update, Delete) que servirá de ejemplo para crear proyectos de altas y bajas, utilizando PHP, MySQL, Bootstrap, mediante el objeto de acceso a datos PDO. Esto también implementa los formularios flotantes (MODAL) de Bootstrap. Este ejemplo puede servir de plantilla para hacer algo más robusto, dependiendo del ingenio que se tenga. ¡Suerte!
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
366 vistas9 páginas

CRUD PHP PDO BootStrap Modal

Este artículo comparto una CRUD (Create, Read, Update, Delete) que servirá de ejemplo para crear proyectos de altas y bajas, utilizando PHP, MySQL, Bootstrap, mediante el objeto de acceso a datos PDO. Esto también implementa los formularios flotantes (MODAL) de Bootstrap. Este ejemplo puede servir de plantilla para hacer algo más robusto, dependiendo del ingenio que se tenga. ¡Suerte!
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

CRUD PHP PDO BootStrap

Modal: Ejemplo Completo


CRUD PHP PDO BootStrap Modal. Primeramente, vamos a definir lo que es
un sistema basado de CRUD. Este sistema en base del funcionamiento de
todo sistema web. Por lo tanto, su uso es muy recomendado.
Se usa para referirse a las funciones estructurales entre el lenguaje de
programación y la base de datos o la capa de persistencia en el sistema.
Índice
1. CRUD PHP PDO BootStrap Modal: Ejemplo Completo
1. ESTRUCTURA DEL SISTEMA CRUD PDO MYSQL
2. CONCLUSIÓN
3. DESCARGA
CRUD PHP PDO BootStrap Modal:
Ejemplo Completo
CRUD es el acrónimo de "Crear, Leer, Actualizar y Borrar". del original
en inglés:
 Create. Crear registros nuevos
 Read. Leer Los registros de la base de datos
 Update. Actualizar registros de la base de datos
 Delete. Borrar registros.
En este ejemplo utilizaremos librerías como ser el bootstrap y jQuery
para mostrar las ventanas modales de bootstrap. Al final del articulo les
dejare el paquete de descarga en formato ZIP. Pero si desea descargar de
manera independiente, también les dejare vínculos siguientes:
 Bootstrap
 Jquery
 Crear nuestra base de datos

ESTRUCTURA DEL SISTEMA CRUD PDO


MYSQL
1. Creación de una base de datos MySQL.
Dentro del paquete de descarga se le dejará un fichero con el nombre
"php_crudbootstrap.sql", que contendrá la tabla y los registros para este
ejemplo. solo debemos de importar el archivo al PHPMyADMIN.
CREATE TABLE IF NOT EXISTS `empleados` (
`idEmp` int(11) NOT NULL,
`Nombres` varchar(100) DEFAULT NULL,
`Apellidos` varchar(100) DEFAULT NULL,
`Telefono` text,
`Carrera` varchar(100) DEFAULT NULL,
`Pais` varchar(100) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='Tabla
Empleados';

INSERT INTO `empleados` (`idEmp`, `Nombres`, `Apellidos`, `Telefono`,


`Carrera`, `Pais`) VALUES
(1, 'Luis', 'Morales', '784521589', 'Modelamiento', 'Mexico'),
(2, 'Katrina', 'Cespedes', '215489653', 'Psicologia', 'Panama'),
(3, 'Antonio', 'Castelino', '025412569', 'Administracion',
'Adminsitrador '),
(4, 'German', 'Molina', '745845214', 'Ing. Sistemas', 'Argentina'),
(6, 'Marcial', 'Cancares', '545678903', 'Ing. Produccion',
'Colombia');

ALTER TABLE `empleados`


ADD PRIMARY KEY (`idEmp`);

ALTER TABLE `empleados`


MODIFY `idEmp` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;

2. Creación de nuestra conexión


Fichero encargado de realizar la conexión a nuestra base de datos creando un
nuevo archivo, lo nombramos como dbconect.php.
<?php
// Creamos la clase Connection
Class Connection{
// Declaramos los accesos al servidor de datos
private $server =
"mysql:host=localhost;dbname=php_crudbootstrap";
private $username = "root";
private $password = "";
private $options = array(PDO::ATTR_ERRMODE =>
PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE =>
PDO::FETCH_ASSOC,);
protected $conn;

public function open(){


try{
$this->conn = new PDO($this->server, $this-
>username, $this->password, $this->options);
return $this->conn;
}
catch (PDOException $e){
// Muestra un mensaje si falla la conexión
echo "Hubo un problema con la conexión: " . $e-
>getMessage();
}

}
public function close(){
$this->conn = null;
}

?>

Como vemos, esta conexión esta en base de PDO PHP haciendo que esta
conexión sea muy fuerte, evitándonos las famosas inyecciones SQL.
3. Visualización de nuestros datos
Vamos a mostrar que los datos en nuestra tabla mediante la creación de un
nuevo archivo, tendrá un nombre similar a index.php.

<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<a href="#addnew" class="btn btn-primary" data-
toggle="modal"><span class="glyphicon glyphicon-plus"></span> Nuevo
Registro</a>
<?php
session_start();
if(isset($_SESSION['message'])){
?>
<div class="alert alert-info text-center"
style="margin-top:20px;">
<?php echo $_SESSION['message']; ?>
</div>
<?php

unset($_SESSION['message']);
}
?>
<table class="table table-bordered table-striped" style="margin-
top:20px;">
<thead>
<th>ID</th>
<th>Nombres</th>
<th>Apellidos</th>
<th>Telefono</th>
<th>Carrera</th>
<th>Pais</th>
<th>Acción</th>
</thead>
<tbody>
<?php
//incluimos el fichero de conexion
include_once('dbconect.php');

$database = new Connection();


$db = $database->open();
try{
$sql = 'SELECT * FROM empleados';
foreach ($db->query($sql) as $row) {
?>
<tr>
<td><?php echo
$row['idEmp']; ?></td>
<td><?php echo
$row['Nombres']; ?></td>
<td><?php echo
$row['Apellidos']; ?></td>
<td><?php echo
$row['Telefono']; ?></td>
<td><?php echo
$row['Carrera']; ?></td>
<td><?php echo
$row['Pais']; ?></td>
<td>
<a href="#edit_<?
php echo $row['idEmp']; ?>" class="btn btn-success btn-sm" data-
toggle="modal"><span class="glyphicon glyphicon-edit"></span>
Editar</a>
<a
href="#delete_<?php echo $row['idEmp']; ?>" class="btn btn-danger btn-
sm" data-toggle="modal"><span class="glyphicon glyphicon-
trash"></span> Borrar</a>
</td>
<?php
include('BorrarEditarModal.php'); ?>
</tr>
<?php
}
}
catch(PDOException $e){
echo "Hubo un problema en la conexión: "
. $e->getMessage();
}

//Cerrar la Conexion
$database->close();

?>
</tbody>
</table>
</div>
</div>
</div>

4. Crear nuestro AgregarModal


Cuando presionamos en botón nuevo registro nos mostrará una ventana modal
que contendrá un formulario con sus respectivos campos para ser almacenados
en la base de datos. Este fichero tendrá como nombre "AgregarModal.php" y
dentro tendrá los códigos siguientes.
<!-- Agregar Nuevos Registros -->
<div class="modal fade" id="addnew" tabindex="-1" role="dialog" aria-
labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-hidden="true">&times;</button>
<center><h4 class="modal-title"
id="myModalLabel">Agregar Nuevo Registro</h4></center>
</div>
<div class="modal-body">
<div class="container-fluid">
<form method="POST" action="AgregarNuevo.php">
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Nombres:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="nombres">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Apellidos:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="apellidos">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Telefono:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="telefono">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Carrera:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="carrera">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Pais:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="pais">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal"><span class="glyphicon glyphicon-remove"></span>
Cancelar</button>
<button type="submit" name="agregar" class="btn btn-
primary"><span class="glyphicon glyphicon-floppy-disk"></span> Guardar
Registro</button>
</form>
</div>

</div>
</div>
</div>

5. Crear nuestro modal de edición y eliminación


Un fichero muy importando en el cual estar destinada a mostrar ventanas
modales con dos criterios, una de editar y la otra de eliminar registros y tendrá
como nombre "BorrarEditarModal.php".

<!-- Ventana Editar Registros CRUD -->


<div class="modal fade" id="edit_<?php echo $row['idEmp']; ?>"
tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-
hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-hidden="true">&times;</button>
<center><h4 class="modal-title"
id="myModalLabel">Editar Empleado</h4></center>
</div>
<div class="modal-body">
<div class="container-fluid">
<form method="POST" action="EditarRegistro.php?
id=<?php echo $row['idEmp']; ?>">
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Apellidos:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="nombres" value="<?php echo $row['Nombres'];
?>">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Apellidos:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="apellidos" value="<?php echo
$row['Apellidos']; ?>">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Telefono:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="telefono" value="<?php echo
$row['Telefono']; ?>">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Carrera:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="carrera" value="<?php echo $row['Carrera'];
?>">
</div>
</div>
<div class="row form-group">
<div class="col-sm-2">
<label class="control-
label" style="position:relative; top:7px;">Pais:</label>
</div>
<div class="col-sm-10">
<input type="text"
class="form-control" name="pais" value="<?php echo $row['Pais']; ?>">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal"><span class="glyphicon glyphicon-remove"></span>
Cancel</button>
<button type="submit" name="editar" class="btn btn-
success"><span class="glyphicon glyphicon-check"></span> Actualizar
Ahora</a>
</form>
</div>

</div>
</div>
</div>

<!-- Borrar -->


<div class="modal fade" id="delete_<?php echo $row['idEmp']; ?>"
tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-
hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-hidden="true">&times;</button>
<center><h4 class="modal-title"
id="myModalLabel">Borrar Empleado</h4></center>
</div>
<div class="modal-body">
<p class="text-center">¿Esta seguro de Borrar el
registro?</p>
<h2 class="text-center"><?php echo
$row['Nombres'].' '.$row['Apellidos']; ?></h2>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal"><span class="glyphicon glyphicon-remove"></span>
Cancelar</button>
<a href="BorrarRegistro.php?id=<?php echo
$row['idEmp']; ?>" class="btn btn-danger"><span class="glyphicon
glyphicon-trash"></span> Si</a>
</div>

</div>
</div>
</div>

CONCLUSIÓN
EL uso de sistemas CRUD es muy requerido en el mundo de los sistemas web
y/o sistemas de escritorio. Sin embargo, apoyados de una estructura PDO
PHP es muy recomendable su implementación por estar en la vanguardia de
la tecnología y evitándonos ataques tipo inyección SQL.
Aquí les traigo un ejemplo completo para que lo descarguen y lo implementen
en sus proyectos web.

También podría gustarte