Proyecto para realizar mantenimiento de datos de usuarios como crear nuevos usuarios, buscar por DNI, ver información completa, modificar y eliminar, funciona con MySQL y la tabla tiene una paginación básica.
- El proyecto empieza mostrando el título de la tabla, luego los botones de inicio, crear usuarios, buscar y la caja de texto para ingresar el DNI a buscar, más abajo podemos ver la tabla que se encarga de listar a todo los usuarios que se encuentren en la base de datos mostrando su nombre, DNI, dirección, teléfono, correo y cada uno de estos con su respectivo botón para ver, modificar o eliminar.
- La tabla esta configurado para mostrar la lista de los usuarios por orden alfabético, tiene una paginación para mostrar solo 5 usuarios por página y 2 botones para avanzar entre páginas o retroceder.
- El botón crear usuarios mostrará un formulario para ingresar datos y poder agregar un nuevo usuario a la base de datos siempre y cuando el DNI no sea un duplicado de otro usuario existente.
- El botón buscar nos ayudará a encontrar a un usuario por medio de su DNI ingresado en la caja de texto.
- El botón ver mostrará un formulario con la información completa del usuario.
- El botón modificar permitirá editar cualquier información del usuario a excepción del DNI.
- El botón eliminar, como su propio nombre lo dice, elimina al usuario por completo de la base de datos.
- Al final en una etiqueta se muestra el total de usuarios que existen en la base de datos.
Al presionar en la siguiente imagen se puede ver el proyecto a tamaño original
Paginación de la tabla y botón buscar usuario
Botón crear y ver usuario
Botón modificar y eliminar usuario
Los archivos que contiene este proyecto
- agregar.php
- conexion.php
- editar.php
- eliminar.php
- index.php
- ver.php
- style.css
En phpMyAdmin en la pestaña SQL se puede crear la siguiente base de datos, usar, crear la tabla de usuarios e insertar los datos de usuarios de ejemplo.
create database vaicrud3; use vaicrud3; DROP TABLE IF EXISTS `usuarios`; CREATE TABLE IF NOT EXISTS `usuarios` ( `nom` varchar(50) NOT NULL, `dni` int NOT NULL, `dir` varchar(50) NOT NULL, `tel` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, PRIMARY KEY (`dni`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; INSERT INTO `usuarios` (`nom`, `dni`, `dir`, `tel`, `email`) VALUES ('Test Usuario', 11201487, 'test', '123124124', 'test@example.com'), ('Dani Palomino', 90450324, 'las casas 123', '12312412', 'dani@example.com'), ('Arturo Reyes', 12345433, 'ArturitoJq', '43534533', 'Arturo@example.com'), ('Laura Moreno', 45785214, 'Las casas 123', '1234567', 'laurita@example.com'), ('Alejandro Morena', 56325236, 'Av. Pardo 456', '6584503', 'alealeale@example.com'), ('Claudia Torres', 67836768, 'Av. Principal 123', '5524453', 'claudis@example.com'), ('Juan Blatz', 38532523, 'La Perla 533', '6789453', 'juanplis@example.com'), ('Percy Ruiz', 34532523, 'Calle Ruiseñores 122', '5678356', 'perruiz@example.com'), ('Carlos Hokage', 63568333, 'Las hojas 700', '7894073', 'mejorhokage@example.com'), ('Miguel Narva', 45622462, 'Av. Habich 543', '6111345', 'narvita@example.com');
- Conexion.php
<?php $host = 'localhost'; $nom = 'root'; $pass = ''; $db = 'vaicrud3'; $conn = mysqli_connect($host, $nom, $pass, $db); if (!$conn) { die("Error en la conexión: " . mysqli_connect_error()); } ?>
- Index.php
<?php include_once("conexion.php"); ?> <!--Busca por VaidrollTeam para más proyectos. --> <html> <head> <title>VaidrollTeam</title> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> <link rel="icon" href="logo.png"> </head> <body> <?php $filasmax = 5; if (isset($_GET['pag'])) { $pagina = $_GET['pag']; } else { $pagina = 1; } if(isset($_POST['btnbuscar'])) { $buscar = $_POST['txtbuscar']; $sqlusu = mysqli_query($conn, "SELECT * FROM usuarios where dni = '".$buscar."'"); } else { $sqlusu = mysqli_query($conn, "SELECT * FROM usuarios ORDER BY nom ASC LIMIT " . (($pagina - 1) * $filasmax) . "," . $filasmax); } $resultadoMaximo = mysqli_query($conn, "SELECT count(*) as num_usuarios FROM usuarios"); $maxusutabla = mysqli_fetch_assoc($resultadoMaximo)['num_usuarios']; ?> <div class="cont" > <form method="POST"> <h1>Lista de usuarios</h1> <a href="index.php">Inicio</a> <?php echo "<a href=\"agregar.php?pag=$pagina\">Crear usuario</a>";?> <input type="submit" value="Buscar" name="btnbuscar"> <input type="text" name="txtbuscar" placeholder="Ingresar DNI de usuario" autocomplete="off" style='width:20%'> </form> <table> <tr> <th>Nombre</th> <th>DNI</th> <th>Dirección</th> <th>Telefono</th> <th>Correo</th> <th>Acción</th> </tr> <?php while ($mostrar = mysqli_fetch_assoc($sqlusu)) { echo "<tr>"; echo "<td>".$mostrar['nom']."</td>"; echo "<td>".$mostrar['dni']."</td>"; echo "<td>".$mostrar['dir']."</td>"; echo "<td>".$mostrar['tel']."</td>"; echo "<td>".$mostrar['email']."</td>"; echo "<td style='width:24%'> <a href=\"ver.php?dni=$mostrar[dni]&pag=$pagina\">Ver</a> <a href=\"editar.php?dni=$mostrar[dni]&pag=$pagina\">Modificar</a> <a href=\"eliminar.php?dni=$mostrar[dni]&pag=$pagina\" onClick=\"return confirm('¿Estás seguro de eliminar a $mostrar[nom]?')\">Eliminar</a> </td>"; } ?> </table> <div style='text-align:right'> <br> <?php echo "Total de usuarios: ".$maxusutabla;?> </div> </div> <div style='text-align:right'> <br> </div> <div style="text-align:center"> <?php if (isset($_GET['pag'])) { if ($_GET['pag'] > 1) { ?> <a href="index.php?pag=<?php echo $_GET['pag'] - 1; ?>">Anterior</a> <?php } else { ?> <a href="#" style="pointer-events: none">Anterior</a> <?php } ?> <?php } else { ?> <a href="#" style="pointer-events: none">Anterior</a> <?php } if (isset($_GET['pag'])) { if ((($pagina) * $filasmax) < $maxusutabla) { ?> <a href="index.php?pag=<?php echo $_GET['pag'] + 1; ?>">Siguiente</a> <?php } else { ?> <a href="#" style="pointer-events: none">Siguiente</a> <?php } ?> <?php } else { ?> <a href="index.php?pag=2">Siguiente</a> <?php } ?> </div> </form> </div> </body> </html>
- Agregar.php
<?php include_once("conexion.php"); include_once("index.php"); $pagina = $_GET['pag']; ?> <html> <head> <title>VaidrollTeam</title> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="caja_popup2"> <form class="contenedor_popup" method="POST"> <table> <tr><th colspan="2" >Agregar usuario</th></tr> <tr> <td>Nombre</td> <td><input type="text" name="txtnom" autocomplete="off"></td> </tr> <tr> <td>DNI</td> <td><input type="number" name="txtdni" autocomplete="off"></td> </tr> <tr> <td>Dirección</td> <td><input type="text" name="txtdir" autocomplete="off"></td> </tr> <tr> <td>Telefono</td> <td><input type="number" name="txttel" autocomplete="off"></td> </tr> <tr> <td>Correo</td> <td><input type="text" name="txtcorreo" autocomplete="off"></td> </tr> <tr> <td colspan="2" > <?php echo "<a href=\"index.php?pag=$pagina\">Cancelar</a>";?> <input type="submit" name="btnregistrar" value="Registrar" onClick="javascript: return confirm('¿Deseas registrar a este usuario');"> </td> </tr> </table> </form> </div> </body> </html> <?php if(isset($_POST['btnregistrar'])) { $vaiusu = $_POST['txtnom']; $vaidni = $_POST['txtdni']; $vaidir = $_POST['txtdir']; $vaitel = $_POST['txttel']; $vaiemail = $_POST['txtcorreo']; $queryadd = mysqli_query($conn, "INSERT INTO usuarios(nom,dni,dir,tel,email) VALUES('$vaiusu','$vaidni','$vaidir','$vaitel','$vaiemail')"); if(!$queryadd) { // echo "Error con el registro: ".mysqli_error($conn); echo "<script>alert('DNI duplicado, intenta otra vez');</script>"; }else { echo "<script>window.location= 'index.php?pag=1' </script>"; } } ?>
- Ver.php
<?php include_once("conexion.php"); include_once("index.php"); $pagina = $_GET['pag']; $coddni = $_GET['dni']; $querybuscar = mysqli_query($conn, "SELECT * FROM usuarios WHERE dni=$coddni"); while($mostrar = mysqli_fetch_array($querybuscar)) { $usunom = $mostrar['nom']; $usudni = $mostrar['dni']; $usudir = $mostrar['dir']; $usutel = $mostrar['tel']; $usucorreo = $mostrar['email']; } ?> <html> <head> <title>VaidrollTeam</title> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="caja_popup2"> <form class="contenedor_popup" method="POST"> <table> <tr><th colspan="2">Ver usuario</th></tr> <tr> <td>Nombre: </td> <td><?php echo $usunom;?></td> </tr> <tr> <td>DNI: </td> <td><?php echo $usudni;?></td> </tr> <tr> <td>Dirección: </td> <td><?php echo $usudir;?></td> </tr> <tr> <td>Telefono: </td> <td><?php echo $usutel;?></td> </tr> <tr> <td>Correo: </td> <td><?php echo $usucorreo;?></td> </tr> <tr> <td colspan="2"> <?php echo "<a href=\"index.php?pag=$pagina\">Regresar</a>";?> </td> </tr> </table> </form> </div> </body> </html>
- Editar.php
<?php include_once("conexion.php"); include_once("index.php"); $pagina = $_GET['pag']; $coddni = $_GET['dni']; $querybuscar = mysqli_query($conn, "SELECT * FROM usuarios WHERE dni=$coddni"); while($mostrar = mysqli_fetch_array($querybuscar)) { $usunom = $mostrar['nom']; $usudni = $mostrar['dni']; $usudir = $mostrar['dir']; $usutel = $mostrar['tel']; $usucorreo = $mostrar['email']; } ?> <html> <head> <title>VaidrollTeam</title> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="caja_popup2"> <form class="contenedor_popup" method="POST"> <table> <tr><th colspan="2">Modificar usuario</th></tr> <tr> <td>Nombre</td> <td><input type="text" name="txtnom" value="<?php echo $usunom;?>" required></td> </tr> <tr> <td>DNI</td> <td><input type="number" name="txtdni" value="<?php echo $usudni;?>" required readonly></td> </tr> <tr> <td>Dirección</td> <td><input type="text" name="txtdir" value="<?php echo $usudir;?>" required></td> </tr> <tr> <td>Telefono</td> <td><input type="number" name="txttel" value="<?php echo $usutel;?>" required></td> </tr> <tr> <td>Correo</td> <td><input type="text" name="txtcorreo" value="<?php echo $usucorreo;?>" required></td> </tr> <tr> <td colspan="2"> <?php echo "<a href=\"index.php?pag=$pagina\">Cancelar</a>";?> <input type="submit" name="btnmodificar" value="Modificar" onClick="javascript: return confirm('¿Deseas modificar este usuario?');"> </td> </tr> </table> </form> </div> </body> </html> <?php if(isset($_POST['btnmodificar'])) { $nom1 = $_POST['txtnom']; $dni1 = $_POST['txtdni']; $dir1 = $_POST['txtdir']; $tel1 = $_POST['txttel']; $correo1 = $_POST['txtcorreo']; $querymodificar = mysqli_query($conn, "UPDATE usuarios SET nom='$nom1',dni='$dni1',dir='$dir1',email='$correo1' WHERE dni=$dni1"); echo "<script>window.location= 'index.php?pag=$pagina' </script>"; } ?>
- Eliminar.php
<?php include_once("conexion.php"); $pagina = $_GET['pag']; $coddni = $_GET['dni']; mysqli_query($conn, "DELETE FROM usuarios WHERE dni=$coddni"); header("Location:index.php?pag=$pagina"); ?>
- Style.css
body { background: #f0f0f0; font-family: Arial, sans-serif; margin:0; padding:0; display: flex; flex-direction: column; } table { border-collapse: collapse; width: 100%; } th { background-color: #333333; color: white; } th, td { padding: 10px; text-align: center; border-bottom: 1px solid #dddddd; } a,input[type="submit"] { text-align:center; display: inline-block; background:green; padding: 6px 10px; border-radius:5px; text-decoration: none; color:white; border:2px solid black; cursor:pointer; font-size: 16px; } h1 { font-family: sans-serif; margin-top:5%; text-align: center; color: #333333; } .contenedor_popup { top: 50%; left: 50%; position: absolute; transform: translate(-50%,-50%); width:400px; transition: all 0.2s; background-color:white; } .caja_popup2 { display: block; position: absolute; padding:0; background-color:rgba(0, 0, 0, 0.5); width:100%; height:100%; } input[type="text"],input[type="number"],input[type="email"] { font-size:16px; background-color:white; color:black; padding: 6px 10px; border-radius:5px; } select { width:80%; font-size: 14px; } .cont { margin-left: auto; margin-right: auto; max-width:1260px; width: 100%; }
- Nombre: VaidrollTeamCRUDPHP3.rar
- Tamaño: 20 KB