php

Crud con Php – Mysql – DataTables con extensión mysqli

crud_php

conexion.php

<?php
$host = "localhost";
$user = "root";
$pass = "";
$bd = "crudphp";
$conexion = mysqli_connect($host, $user, $pass, $bd);
if (mysqli_connect_errno()) {
  echo "Error en la conexion";
  exit();
}
mysqli_select_db($conexion, $bd) or die ("No se encuentra la base de datos");
mysqli_set_charset($conexion, "utf8");
 ?>

Index.php

<?php
if (isset($_POST['registrar'])) {
$alert = "";
if (empty($_POST['nombre']) || empty($_POST['precio']) || empty($_POST['cantidad'])) {
$alert = "<div class='alert alert-danger'>Los campos estan vacios</div>";
}else {
require 'conexion.php';
$nombre = mysqli_real_escape_string($conexion,$_POST['nombre']);
$precio = mysqli_real_escape_string($conexion,$_POST['precio']);
$cantidad = mysqli_real_escape_string($conexion,$_POST['cantidad']);
$query = mysqli_query($conexion, "INSERT INTO productos (nombre, precio, cantidad) VALUES ('$nombre', $precio, $cantidad)");
mysqli_close($conexion);
$alert = "<div class='alert alert-success'>Registro guardado</div>";
}
}
?>
<!DOCTYPE html>
<html lang="es" dir="ltr">
<head>
<meta charset="utf-8">
<title>Vida Informático</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/jquery.dataTables.min.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a href="index.php" class="navbar-brand">Vida Informático</a>
</nav>
<div class="container">
<div class="row mt-5">
<form class="col-md-4" action="" method="post">
<h2 class="text-center">Nuevo Registro</h2>
<div>
<?php echo isset($alert) ? $alert : "";?>
</div>
<div class="form-group">
<label>Nombre</label>
<input type="text" name="nombre" class="form-control" autocomplete="off">
</div>
<div class="form-group">
<label>Precio</label>
<input type="text" name="precio" class="form-control">
</div>
<div class="form-group">
<label>Cantidad</label>
<input type="text" name="cantidad" class="form-control">
</div>
<div class="form-group">
<input type="submit" class="btn btn-success" name="registrar" value="Registrar">
</div>
</form>
<div class="col-md-8">
<?php
require 'conexion.php';
$consulta = mysqli_query($conexion, "SELECT * FROM productos");
$resultado = mysqli_fetch_all($consulta);
?>
<table class="table display" id="tabla">
<thead>
<tr>
<th>ID</th>
<th>NOMBRE</th>
<th>PRECIO</th>
<th>CANTIDAD</th>
<th>ACCIONES</th>
</tr>
</thead>
<tbody>
<?php foreach ($resultado as $data) { ?>
<tr>
<td><?php echo $data[0]; ?></td>
<td><?php echo $data[1]; ?></td>
<td><?php echo $data[2]; ?></td>
<td><?php echo $data[3]; ?></td>
<td>
<a href="editar.php?id=<?php echo $data[0];  ?>" class="btn btn-primary">Editar</a>
<a href="eliminar.php?id=<?php echo $data[0];  ?>" class="btn btn-danger">Eliminar</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/jquery.dataTables.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
$(document).ready(function() {
$('#tabla').DataTable();
} );
</script>
</body>
</html>

editar.php

<?php
if (!is_numeric($_GET['id'])) {
header("Location: index.php");
}else{
require 'conexion.php';
$id = mysqli_real_escape_string($conexion,$_GET['id']);
$consulta = mysqli_query($conexion, "SELECT * FROM productos WHERE id = $id");
$cant = mysqli_num_rows($consulta);
$resultado = mysqli_fetch_array($consulta);
if ($cant > 0) {
if (isset($_POST['Actualizar'])) {
$alert = "";
if (empty($_POST['nombre']) || empty($_POST['precio']) || empty($_POST['cantidad'])) {
$alert = "<div class='alert alert-danger'>Los campos estan vacios</div>";
}else {
$nombre = mysqli_real_escape_string($conexion,$_POST['nombre']);
$precio = mysqli_real_escape_string($conexion,$_POST['precio']);
$cantidad = mysqli_real_escape_string($conexion,$_POST['cantidad']);
$query = mysqli_query($conexion, "UPDATE productos SET nombre = '$nombre', precio = $precio, cantidad = $cantidad WHERE id = $id");
mysqli_close($conexion);
$alert = "<div class='alert alert-success'>Registro Actualizado</div>";
header("Refresh:2; url=index.php");
}
}
}else {
header("Location: index.php");
}
}
?>
<!DOCTYPE html>
<html lang="es" dir="ltr">
<head>
<meta charset="utf-8">
<title>Vida Informático</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/jquery.dataTables.min.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a href="index.php" class="navbar-brand">Vida Informático</a>
</nav>
<div class="container">
<div class="row mt-5">
<form class="col-md-4 m-auto" action="" method="post">
<h2 class="text-center">Actualizar Regsitro</h2>
<div>
<?php echo isset($alert) ? $alert : "";?>
</div>
<div class="form-group">
<label>Nombre</label>
<input type="text" name="nombre" class="form-control" value="<?php echo $resultado['nombre']; ?>">
</div>
<div class="form-group">
<label>Precio</label>
<input type="text" name="precio" class="form-control" value="<?php echo $resultado['precio']; ?>">
</div>
<div class="form-group">
<label>Cantidad</label>
<input type="text" name="cantidad" class="form-control" value="<?php echo $resultado['cantidad']; ?>">
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" name="Actualizar" value="Actualizar">
</div>
</form>
</div>
</body>
</html>

eliminar.php

<?php
if (!is_numeric($_GET['id'])) {
header("Location: index.php");
}else {
require 'conexion.php';
$id = mysqli_real_escape_string($conexion,$_GET['id']);
$query = mysqli_query($conexion, "DELETE FROM productos WHERE id = $id");
mysqli_close($conexion);
header("Location: index.php");
}
?>
Descargar

Deja una respuesta

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