
CRUD CON MODAL PHP MYSQL BOOTSTRAP AJAX NO ME FUNCIONA
Publicado por Juan (3 intervenciones) el 04/11/2022 01:24:18
Buenas noches grupo tengo un problema
necesito entregar pronto un CRUD con PHP MYSQL AJAX BOOTSTRAP Y VENTANA MODAL
COMENZE pero no puedo cargar registros en la modal ni actualizar ni borrar y necesito un ejemplo senicllo
donde pueda orientarme bien o corregir los que tengo mal en mi codigo.
agradezco de antemano cualquier buena ayuda.
las que he visto no me funcionan bien.
Carpeta codigo
conexion.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$base = "pruebas";
$conexion = new mysqli('localhost','root','','pruebas');
?>
insertar.php
<?php
include('conexion.php');
if(isset($_POST['nombres']) and !empty($_POST['nombres']) and
isset($_POST['apellido']) and !empty($_POST['apellido'])){
$sql = "INSERT INTO bendecido(nombre, Apellido)
values ('".$_POST['nombres']."',
'".$_POST['apellido']."')";
echo mysqli_query($conexion,$sql);
}
?>
tabla.php
<?php
include('conexion.php');
?>
<div class="container">
<div class="row">
<h5 align="center">Tabla de Mantenimiento Usuarios</h5>
<table class="table table-hover table-condensed table-bordered">
<div class="container my-4">
<div id="boton" align="right">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#registrar">
Add New Users
</button>
</div>
</div>
<tr>
<td>Id</td>
<td>Nombre</td>
<td>Apellido</td>
<td align="center">Editar</td>
<td align="center">Eliminar</td>
</tr>
<?php
$sql = "SELECT id, nombre, apellido FROM bendecido";
$resultado = mysqli_query($conexion,$sql);
while($row = mysqli_fetch_array($resultado)){
//creamos la variable datos para que extraiga los valores de los registros
//$datos = $row[0]."││".$row[1]."││".$row[2];
?>
<tr>
<td><?php echo $row[0] ?></td>
<td><?php echo $row[1] ?></td>
<td><?php echo $row[2] ?></td>
<td>
<div id="editar" align="center">
<button type="´button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#editar" onclick="viewEdit(<?php echo $row[0] ?>)">
Editar
</button>
</div>
</td>
<td>
<div id="borrar" align="center">
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#eliminar">
Borrar
</button>
</div>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
ver_usuario.php
<?php
include('conexion.php');
if( isset($_POST['id'])){
$sql = sprintf("SELECT * FROM bendecido WHERE id = %d", $_POST['id']);
$result = mysqli_query($conecta,$sql);
$mostrar = mysqli_fetch_row($result);
echo json_encode($mostrar);
}
?>
carpeta Librerias
bootstrap-5.2.2-dist esta se tiene que descargar
jquery-3.6.0.min
librerias_cabecera.php
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<script src="librerias/jquery-3.6.0.min.js"></script>
<!--<script src="js/funciones.js"></script>-->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
librerias_footer.php
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
index.php
<!DOCTYPE html>
<html>
<head>
<title>Pruebas</title>
<?php
include('librerias/librerias_cabecera.php');
include('librerias/librerias_footer.php');
?>
</head>
<body>
<div id="registrar" class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-bs-dismiss="modal">×</button>
<h4 class="modal-title">Ingresar personal</h4>
</div>
<div class="modal-body">
<form method="post" id="guardar">
<label for="nombre" class="form-label">Ingrese nombre de personal</label>
<input type="text" name="nombres" id="nombres" class="form-control" />
<label for="apellido" class="form-label">Apellido</label>
<input type="text" name="apellido" id="apellido" class="form-control">
<br />
<input type="submit" name="insert" id="insert" value="Ingresar personal" class="btn btn-success" />
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
<!--Modal Edicion-->
<div class="modal fade" id="editar" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Editar Registros</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<input type="text" hidden="" id="idpersona" name="">
<label for="nombreu" class="form-label">Nombre</label>
<input type="text" class="form-control" id="nombreu"
name="nombreu">
<label for="apellidou" class="form-label">Apellido</label>
<input type="text" class="form-control" id="apellidou" name="apellidou">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">Actualizar</button>
</div>
</div>
</div>
</div>
<div id="tabla">
</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
$('#tabla').load('codigo/tabla.php');
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#insert').click(function(){
var datos = $('#guardar').serialize();
//alert(datos);
//return false;
$.ajax({
type:'POST',
url:'codigo/insertar.php',
data:datos,
success:function(r){
if(r==1){
alert("agregado con exito");
}else{
alert("Fallo al agregar");
}
$("#guardar")[0].reset();
}
});
return false;
});
});
function closeModal(){
$("#nombreu").val('');
$("#editar").modal('hide');
}
function viewEdit(_id){
//uso de ajax
$.ajax({
type:'POST',
url:'codigo/ver_usuario.php',
data: {id:_id} ,
success:function(r){
_json = JSON.parse(r);
$("#nombreu").val(_json[1]);
$("#apellidou").val(_json[2]);
},
error: function(r) { console.log(r) }
});
$("#editar").modal('show');
}
</script>
base de datos pruebas
tabla bendecido
-- phpMyAdmin SQL Dump
-- version 5.1.3
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 04-11-2022 a las 01:01:04
-- Versión del servidor: 10.4.24-MariaDB
-- Versión de PHP: 7.4.29
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de datos: `pruebas`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `bendecido`
--
CREATE TABLE `bendecido` (
`id` int(10) UNSIGNED NOT NULL,
`nombre` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
`Apellido` varchar(20) COLLATE utf8_spanish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
--
-- Volcado de datos para la tabla `bendecido`
--
INSERT INTO `bendecido` (`id`, `nombre`, `Apellido`) VALUES
(51, 'Sofia', 'Yesterday'),
(52, 'Amanda Miguel', 'Argentina'),
(53, 'Erika ', 'Valoys'),
(54, 'Amanda', 'Miguel'),
(55, 'Jessel', 'Balls'),
(56, 'Hilary', 'Clinton'),
(57, 'Valdez', 'Johany'),
(58, 'Vanessa', 'Del rios'),
(59, 'Perdonados ', 'Todos'),
(60, 'Karen', 'Colombia'),
(61, 'Laura', 'Leon'),
(62, 'Valeria ', 'Lynch'),
(63, 'Sonia', 'Jaramillo'),
(64, 'Eugenio', '123'),
(65, 'Gisela ', 'Idalgo'),
(66, 'Ericka ', 'Varsallo');
--
-- Índices para tablas volcadas
--
--
-- Indices de la tabla `bendecido`
--
ALTER TABLE `bendecido`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `bendecido`
--
ALTER TABLE `bendecido`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=67;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
FAVOR SI ME PUIEDEN INDICAR MIS PASOS A SEGUIR PARA CORREGIR Y SEGUIR DESARROLLANDO ESTE PROYECTO O BIEN BRINDARME UN EJEMPLO FUNCIONABLE 100%
GRACIAS DE ANTE MANO
necesito entregar pronto un CRUD con PHP MYSQL AJAX BOOTSTRAP Y VENTANA MODAL
COMENZE pero no puedo cargar registros en la modal ni actualizar ni borrar y necesito un ejemplo senicllo
donde pueda orientarme bien o corregir los que tengo mal en mi codigo.
agradezco de antemano cualquier buena ayuda.
las que he visto no me funcionan bien.
Carpeta codigo
conexion.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$base = "pruebas";
$conexion = new mysqli('localhost','root','','pruebas');
?>
insertar.php
<?php
include('conexion.php');
if(isset($_POST['nombres']) and !empty($_POST['nombres']) and
isset($_POST['apellido']) and !empty($_POST['apellido'])){
$sql = "INSERT INTO bendecido(nombre, Apellido)
values ('".$_POST['nombres']."',
'".$_POST['apellido']."')";
echo mysqli_query($conexion,$sql);
}
?>
tabla.php
<?php
include('conexion.php');
?>
<div class="container">
<div class="row">
<h5 align="center">Tabla de Mantenimiento Usuarios</h5>
<table class="table table-hover table-condensed table-bordered">
<div class="container my-4">
<div id="boton" align="right">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#registrar">
Add New Users
</button>
</div>
</div>
<tr>
<td>Id</td>
<td>Nombre</td>
<td>Apellido</td>
<td align="center">Editar</td>
<td align="center">Eliminar</td>
</tr>
<?php
$sql = "SELECT id, nombre, apellido FROM bendecido";
$resultado = mysqli_query($conexion,$sql);
while($row = mysqli_fetch_array($resultado)){
//creamos la variable datos para que extraiga los valores de los registros
//$datos = $row[0]."││".$row[1]."││".$row[2];
?>
<tr>
<td><?php echo $row[0] ?></td>
<td><?php echo $row[1] ?></td>
<td><?php echo $row[2] ?></td>
<td>
<div id="editar" align="center">
<button type="´button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#editar" onclick="viewEdit(<?php echo $row[0] ?>)">
Editar
</button>
</div>
</td>
<td>
<div id="borrar" align="center">
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#eliminar">
Borrar
</button>
</div>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
ver_usuario.php
<?php
include('conexion.php');
if( isset($_POST['id'])){
$sql = sprintf("SELECT * FROM bendecido WHERE id = %d", $_POST['id']);
$result = mysqli_query($conecta,$sql);
$mostrar = mysqli_fetch_row($result);
echo json_encode($mostrar);
}
?>
carpeta Librerias
bootstrap-5.2.2-dist esta se tiene que descargar
jquery-3.6.0.min
librerias_cabecera.php
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<script src="librerias/jquery-3.6.0.min.js"></script>
<!--<script src="js/funciones.js"></script>-->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-IDwe1+LCz02ROU9k972gdyvl+AESN10+x7tBKgc9I5HFtuNz0wWnPclzo6p9vxnk" crossorigin="anonymous"></script>
librerias_footer.php
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
index.php
<!DOCTYPE html>
<html>
<head>
<title>Pruebas</title>
<?php
include('librerias/librerias_cabecera.php');
include('librerias/librerias_footer.php');
?>
</head>
<body>
<div id="registrar" class="modal fade">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-bs-dismiss="modal">×</button>
<h4 class="modal-title">Ingresar personal</h4>
</div>
<div class="modal-body">
<form method="post" id="guardar">
<label for="nombre" class="form-label">Ingrese nombre de personal</label>
<input type="text" name="nombres" id="nombres" class="form-control" />
<label for="apellido" class="form-label">Apellido</label>
<input type="text" name="apellido" id="apellido" class="form-control">
<br />
<input type="submit" name="insert" id="insert" value="Ingresar personal" class="btn btn-success" />
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
<!--Modal Edicion-->
<div class="modal fade" id="editar" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Editar Registros</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<input type="text" hidden="" id="idpersona" name="">
<label for="nombreu" class="form-label">Nombre</label>
<input type="text" class="form-control" id="nombreu"
name="nombreu">
<label for="apellidou" class="form-label">Apellido</label>
<input type="text" class="form-control" id="apellidou" name="apellidou">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">Actualizar</button>
</div>
</div>
</div>
</div>
<div id="tabla">
</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
$('#tabla').load('codigo/tabla.php');
});
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#insert').click(function(){
var datos = $('#guardar').serialize();
//alert(datos);
//return false;
$.ajax({
type:'POST',
url:'codigo/insertar.php',
data:datos,
success:function(r){
if(r==1){
alert("agregado con exito");
}else{
alert("Fallo al agregar");
}
$("#guardar")[0].reset();
}
});
return false;
});
});
function closeModal(){
$("#nombreu").val('');
$("#editar").modal('hide');
}
function viewEdit(_id){
//uso de ajax
$.ajax({
type:'POST',
url:'codigo/ver_usuario.php',
data: {id:_id} ,
success:function(r){
_json = JSON.parse(r);
$("#nombreu").val(_json[1]);
$("#apellidou").val(_json[2]);
},
error: function(r) { console.log(r) }
});
$("#editar").modal('show');
}
</script>
base de datos pruebas
tabla bendecido
-- phpMyAdmin SQL Dump
-- version 5.1.3
-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 04-11-2022 a las 01:01:04
-- Versión del servidor: 10.4.24-MariaDB
-- Versión de PHP: 7.4.29
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de datos: `pruebas`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `bendecido`
--
CREATE TABLE `bendecido` (
`id` int(10) UNSIGNED NOT NULL,
`nombre` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
`Apellido` varchar(20) COLLATE utf8_spanish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
--
-- Volcado de datos para la tabla `bendecido`
--
INSERT INTO `bendecido` (`id`, `nombre`, `Apellido`) VALUES
(51, 'Sofia', 'Yesterday'),
(52, 'Amanda Miguel', 'Argentina'),
(53, 'Erika ', 'Valoys'),
(54, 'Amanda', 'Miguel'),
(55, 'Jessel', 'Balls'),
(56, 'Hilary', 'Clinton'),
(57, 'Valdez', 'Johany'),
(58, 'Vanessa', 'Del rios'),
(59, 'Perdonados ', 'Todos'),
(60, 'Karen', 'Colombia'),
(61, 'Laura', 'Leon'),
(62, 'Valeria ', 'Lynch'),
(63, 'Sonia', 'Jaramillo'),
(64, 'Eugenio', '123'),
(65, 'Gisela ', 'Idalgo'),
(66, 'Ericka ', 'Varsallo');
--
-- Índices para tablas volcadas
--
--
-- Indices de la tabla `bendecido`
--
ALTER TABLE `bendecido`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `bendecido`
--
ALTER TABLE `bendecido`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=67;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
FAVOR SI ME PUIEDEN INDICAR MIS PASOS A SEGUIR PARA CORREGIR Y SEGUIR DESARROLLANDO ESTE PROYECTO O BIEN BRINDARME UN EJEMPLO FUNCIONABLE 100%
GRACIAS DE ANTE MANO
Valora esta pregunta


0