CRUD PERSONAS FOTO TXT
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo insert de sql
Para crear un formulario que permita cargar una foto junto con el nombre y el DNI de una persona usando Fetch API y JSON con PHP, MySQL y JavaScript puro, puedes seguir los siguientes pasos:
Crear una tabla en la base de datos MySQL para almacenar los datos de la persona, incluyendo el nombre, DNI y la ruta de la foto.
SQL
Copy code
CREATE TABLE personas (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
dni VARCHAR(8) NOT NULL,
foto VARCHAR(255) NOT NULL
);
Crear un archivo HTML que contenga el formulario de carga de fotos y enviar los datos usando el método POST. Asegúrate de incluir el atributo "enctype" en el formulario y establecerlo como "multipart/form-data" para permitir la carga de archivos.
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Carga de fotos</title>
</head>
<body>
<form id="form" enctype="multipart/form-data">
<input type="text" name="nombre" placeholder="Nombre">
<br>
<input type="text" name="dni" placeholder="DNI">
<br>
<input type="file" name="foto" accept="image/*">
<br>
<button type="submit">Cargar foto</button>
</form>
<script src="script.js"></script>
</body>
</html>
Crear un archivo JavaScript (por ejemplo, "script.js") para manejar la carga de la foto usando Fetch API. Para ello, debemos crear un objeto FormData para enviar los datos y la foto, y luego enviar una petición POST al servidor.
JavaScript
Copy code
const form = document.getElementById('form');
form.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(form);
fetch('cargar_foto.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
});
Crear un archivo PHP (por ejemplo, "cargar_foto.php") para procesar los datos recibidos y guardar la foto en el servidor. Para ello, debemos mover el archivo temporal al directorio de destino, y luego insertar los datos en la base de datos usando una consulta INSERT.
PHP
Copy code
<?php
if(isset($_FILES['foto'])) {
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$conn = mysqli_connect('localhost', 'usuario', 'contraseña', 'basededatos');
if(mysqli_connect_errno()) {
die('Error de conexión: ' . mysqli_connect_error());
}
$query = "INSERT INTO personas(nombre, dni, foto) VALUES('$nombre', '$dni', '$destination')";
$result = mysqli_query($conn, $query);
if($result) {
$response = array('status' => 'success', 'message' => 'Foto cargada exitosamente');
}
else {
$response = array('status' => 'error', 'message' => 'Error al cargar la
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo insert de sql metodo pdo usar HTML DOM Document getElementById()
Para crear un formulario que permita cargar una foto junto con el nombre y el DNI de una persona usando Fetch API y JSON con PHP, MySQL y JavaScript puro, usando el método PDO y la función getElementById() del DOM de HTML, puedes seguir los siguientes pasos:
Crear una tabla en la base de datos MySQL para almacenar los datos de la persona, incluyendo el nombre, DNI y la ruta de la foto.
SQL
Copy code
CREATE TABLE personas (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
dni VARCHAR(8) NOT NULL,
foto VARCHAR(255) NOT NULL
);
Crear un archivo HTML que contenga el formulario de carga de fotos y enviar los datos usando el método POST. Asegúrate de incluir el atributo "enctype" en el formulario y establecerlo como "multipart/form-data" para permitir la carga de archivos.
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Carga de fotos</title>
</head>
<body>
<form id="form" enctype="multipart/form-data">
<input type="text" name="nombre" placeholder="Nombre">
<br>
<input type="text" name="dni" placeholder="DNI">
<br>
<input type="file" name="foto" accept="image/*">
<br>
<button type="submit">Cargar foto</button>
</form>
<script src="script.js"></script>
</body>
</html>
Crear un archivo JavaScript (por ejemplo, "script.js") para manejar la carga de la foto usando Fetch API. Para ello, debemos crear un objeto FormData para enviar los datos y la foto, y luego enviar una petición POST al servidor.
JavaScript
Copy code
const form = document.getElementById('form');
form.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(form);
fetch('cargar_foto.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
});
Crear un archivo PHP (por ejemplo, "cargar_foto.php") para procesar los datos recibidos y guardar la foto en el servidor. Para ello, debemos mover el archivo temporal al directorio de destino, y luego insertar los datos en la base de datos usando una consulta INSERT.
PHP
Copy code
<?php
if(isset($_FILES['foto'])) {
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO personas(nombre, dni, foto) VALUES(:nombre, :dni, :foto)";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo insert de sql metodo pdo usar document.getElementById("foto")
Para crear un formulario que permita cargar una foto junto con el nombre y el DNI de una persona usando Fetch API y JSON con PHP, MySQL y JavaScript puro, usando el método PDO y la función getElementById() del DOM de HTML, puedes seguir los siguientes pasos:
Crear una tabla en la base de datos MySQL para almacenar los datos de la persona, incluyendo el nombre, DNI y la ruta de la foto.
SQL
Copy code
CREATE TABLE personas (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
dni VARCHAR(8) NOT NULL,
foto VARCHAR(255) NOT NULL
);
Crear un archivo HTML que contenga el formulario de carga de fotos y enviar los datos usando el método POST. Asegúrate de incluir el atributo "enctype" en el formulario y establecerlo como "multipart/form-data" para permitir la carga de archivos.
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Carga de fotos</title>
</head>
<body>
<form id="form" enctype="multipart/form-data">
<input type="text" name="nombre" placeholder="Nombre">
<br>
<input type="text" name="dni" placeholder="DNI">
<br>
<input type="file" name="foto" accept="image/*" id="foto">
<br>
<button type="submit">Cargar foto</button>
</form>
<script src="script.js"></script>
</body>
</html>
Crear un archivo JavaScript (por ejemplo, "script.js") para manejar la carga de la foto usando Fetch API. Para ello, debemos crear un objeto FormData para enviar los datos y la foto, y luego enviar una petición POST al servidor.
JavaScript
Copy code
const form = document.getElementById('form');
form.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(form);
const foto = document.getElementById('foto').files[0];
formData.append('foto', foto);
fetch('cargar_foto.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
});
Crear un archivo PHP (por ejemplo, "cargar_foto.php") para procesar los datos recibidos y guardar la foto en el servidor. Para ello, debemos mover el archivo temporal al directorio de destino, y luego insertar los datos en la base de datos usando una consulta INSERT.
PHP
Copy code
<?php
if(isset($_FILES['foto'])) {
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO personas(nombre, dni, foto) VALUES(:nombre, :dni, :foto)";
$stmt
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo insert de sql metodo pdo usar document.getElementById("foto") document.getElementById("nombre") document.getElementById("dni")
Para crear un formulario que permita cargar una foto junto con el nombre y el DNI de una persona usando Fetch API y JSON con PHP, MySQL y JavaScript puro, usando el método PDO y las funciones getElementById() del DOM de HTML, puedes seguir los siguientes pasos:
Crear una tabla en la base de datos MySQL para almacenar los datos de la persona, incluyendo el nombre, DNI y la ruta de la foto.
SQL
Copy code
CREATE TABLE personas (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(255) NOT NULL,
dni VARCHAR(8) NOT NULL,
foto VARCHAR(255) NOT NULL
);
Crear un archivo HTML que contenga el formulario de carga de fotos y enviar los datos usando el método POST. Asegúrate de incluir el atributo "enctype" en el formulario y establecerlo como "multipart/form-data" para permitir la carga de archivos.
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Carga de fotos</title>
</head>
<body>
<form id="form" enctype="multipart/form-data">
<input type="text" name="nombre" placeholder="Nombre" id="nombre">
<br>
<input type="text" name="dni" placeholder="DNI" id="dni">
<br>
<input type="file" name="foto" accept="image/*" id="foto">
<br>
<button type="submit">Cargar foto</button>
</form>
<script src="script.js"></script>
</body>
</html>
Crear un archivo JavaScript (por ejemplo, "script.js") para manejar la carga de la foto usando Fetch API. Para ello, debemos crear un objeto FormData para enviar los datos y la foto, y luego enviar una petición POST al servidor.
JavaScript
Copy code
const form = document.getElementById('form');
form.addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(form);
const nombre = document.getElementById('nombre').value;
const dni = document.getElementById('dni').value;
const foto = document.getElementById('foto').files[0];
formData.append('nombre', nombre);
formData.append('dni', dni);
formData.append('foto', foto);
fetch('cargar_foto.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
});
Crear un archivo PHP (por ejemplo, "cargar_foto.php") para procesar los datos recibidos y guardar la foto en el servidor. Para ello, debemos mover el archivo temporal al directorio de destino, y luego insertar los datos en la base de datos usando una consulta INSERT.
PHP
Copy code
<?php
if(isset($_FILES['foto'])) {
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
jose fernandez
hacerme solo el codigo cargar_foto.php
¡Claro! A continuación te muestro el código del archivo "cargar_foto.php" para procesar los datos recibidos y guardar la foto en el servidor, utilizando PDO y la función move_uploaded_file() para mover el archivo temporal al directorio de destino:
PHP
Copy code
<?php
if(isset($_FILES['foto'])) {
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO personas (nombre, dni, foto) VALUES (:nombre, :dni, :foto)";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':dni', $dni);
$stmt->bindParam(':foto', $foto);
$stmt->execute();
$response = [
'status' => 'success',
'message' => 'Foto cargada exitosamente'
];
echo json_encode($response);
} catch(PDOException $e) {
$response = [
'status' => 'error',
'message' => $e->getMessage()
];
echo json_encode($response);
}
} else {
$response = [
'status' => 'error',
'message' => 'No se pudo cargar la foto'
];
echo json_encode($response);
}
}
Este código primero verifica si el archivo "foto" se ha enviado con éxito mediante el método POST. Luego, se obtienen el nombre, DNI y nombre de archivo de la foto, así como la ruta temporal del archivo.
A continuación, se mueve la foto al directorio de destino especificado en la variable $uploads_dir, utilizando la función move_uploaded_file() de PHP.
Después, se establece la conexión a la base de datos utilizando PDO y se prepara una consulta INSERT para insertar los datos en la tabla "personas". Los datos se pasan como parámetros utilizando bindParam(). La foto se guarda en la base de datos como una cadena de caracteres que representa la ruta de la foto.
Si la consulta INSERT se ejecuta correctamente, se devuelve una respuesta JSON que indica que la foto se ha cargado exitosamente. Si se produce algún error, se devuelve una respuesta JSON que indica el error.
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo update de sql metodo pdo usar document.getElementById("foto") document.getElementById("nombre") document.getElementById("dni")
¡Claro! A continuación te muestro un ejemplo de cómo actualizar los datos de una persona y su foto en la base de datos utilizando PDO y Fetch API en JavaScript.
Aquí tienes el código HTML del formulario:
HTML
Copy code
<form id="formulario" enctype="multipart/form-data">
<input type="hidden" name="id" id="id">
<div>
<label for="nombre">Nombre:</label>
<input type="text" name="nombre" id="nombre">
</div>
<div>
<label for="dni">DNI:</label>
<input type="text" name="dni" id="dni">
</div>
<div>
<label for="foto">Foto:</label>
<input type="file" name="foto" id="foto">
</div>
<button type="submit">Guardar cambios</button>
</form>
Y a continuación, el código JavaScript para enviar los datos del formulario al servidor y actualizar la base de datos:
JavaScript
Copy code
const formulario = document.getElementById('formulario');
formulario.addEventListener('submit', (event) => {
event.preventDefault();
const id = document.getElementById('id').value;
const nombre = document.getElementById('nombre').value;
const dni = document.getElementById('dni').value;
const foto = document.getElementById('foto').files[0];
const formData = new FormData();
formData.append('id', id);
formData.append('nombre', nombre);
formData.append('dni', dni);
formData.append('foto', foto);
fetch('actualizar_persona.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
if (data.status === 'success') {
alert(data.message);
} else {
alert(data.message);
}
})
.catch(error => console.error(error));
});
Por último, aquí está el código PHP del archivo "actualizar_persona.php" para procesar los datos recibidos y actualizar la base de datos:
PHP
Copy code
<?php
if(isset($_POST['id'])) {
$id = $_POST['id'];
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "UPDATE personas SET nombre = :nombre, dni = :dni, foto = :foto WHERE id = :id";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':dni', $dni);
$stmt->bindParam(':foto', $foto);
$stmt->execute();
$response = [
'status' => 'success',
'message' => 'Datos actualizados exitosamente'
];
echo json_encode($response);
} catch(PDOException $e) {
$response = [
'status' => 'error',
'message' => $e->getMessage()
];
echo json_encode
jose fernandez
hazme solo el codigo del actualizar_persona.php
¡Claro! A continuación te muestro el código PHP del archivo "actualizar_persona.php" para procesar los datos recibidos y actualizar la base de datos:
PHP
Copy code
<?php
if(isset($_POST['id'])) {
$id = $_POST['id'];
$nombre = $_POST['nombre'];
$dni = $_POST['dni'];
$foto = $_FILES['foto']['name'];
$tmp_name = $_FILES['foto']['tmp_name'];
$uploads_dir = 'uploads/';
$destination = $uploads_dir . $foto;
if(move_uploaded_file($tmp_name, $destination)) {
$dsn = 'mysql:host=localhost;dbname=basededatos';
$usuario = 'usuario';
$contraseña = 'contraseña';
try {
$pdo = new PDO($dsn, $usuario, $contraseña);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "UPDATE personas SET nombre = :nombre, dni = :dni, foto = :foto WHERE id = :id";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':dni', $dni);
$stmt->bindParam(':foto', $foto);
$stmt->execute();
$response = [
'status' => 'success',
'message' => 'Datos actualizados exitosamente'
];
echo json_encode($response);
} catch(PDOException $e) {
$response = [
'status' => 'error',
'message' => $e->getMessage()
];
echo json_encode($response);
}
} else {
$response = [
'status' => 'error',
'message' => 'No se pudo cargar la foto'
];
echo json_encode($response);
}
} else {
$response = [
'status' => 'error',
'message' => 'No se proporcionó un ID válido'
];
echo json_encode($response);
}
Este código recibe los datos enviados por el formulario (el ID, nombre, DNI y foto), los actualiza en la base de datos y envía una respuesta JSON al cliente indicando si la operación fue exitosa o no.
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo delete de sql metodo pdo usar document.getElementById("foto") document.getElementById("nombre") document.getElementById("dni") borrar foto de la carpeta
¡Claro! A continuación te muestro el código HTML y JavaScript del formulario para eliminar una persona de la base de datos y borrar su foto de la carpeta "uploads":
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Eliminar Persona</title>
</head>
<body>
<form id="formEliminar" method="POST" enctype="multipart/form-data">
<input type="hidden" id="id" name="id">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" readonly><br><br>
<label for="dni">DNI:</label>
<input type="text" id="dni" name="dni" readonly><br><br>
<label for="foto">Foto:</label>
<img id="fotoMostrar" src="" width="100"><br><br>
<input type="submit" value="Eliminar">
</form>
<script>
const formEliminar = document.getElementById('formEliminar');
const id = document.getElementById('id');
const nombre = document.getElementById('nombre');
const dni = document.getElementById('dni');
const fotoMostrar = document.getElementById('fotoMostrar');
// Función para cargar los datos de la persona a eliminar
function cargarDatos(idPersona) {
fetch('obtener_persona.php?id=' + idPersona)
.then(response => response.json())
.then(data => {
if(data.status === 'success') {
id.value = data.persona.id;
nombre.value = data.persona.nombre;
dni.value = data.persona.dni;
fotoMostrar.src = 'uploads/' + data.persona.foto;
} else {
alert(data.message);
}
})
.catch(error => {
console.log(error);
alert('Hubo un error al cargar los datos de la persona');
});
}
// Función para eliminar la persona
function eliminarPersona(event) {
event.preventDefault();
if(confirm('¿Está seguro que desea eliminar esta persona?')) {
const data = new FormData(formEliminar);
fetch('eliminar_persona.php', {
method: 'POST',
body: data
})
.then(response => response.json())
.then(data => {
if(data.status === 'success') {
alert(data.message);
// Eliminar la foto de la carpeta "uploads"
const foto = data.persona.foto;
const url = 'borrar_foto.php?foto=' + foto;
fetch(url)
.then(response => response.json())
.then(data => {
if(data.status === 'success') {
console.log('Foto eliminada');
} else {
console.log(data.message);
}
})
.catch(error => {
console.log(error);
alert('Hubo un error al eliminar la foto');
});
// Redireccionar a la página principal
location.href = 'index.php';
} else {
alert(data.message);
}
})
.catch(error => {
console.log(error);
alert('Hubo un error al eliminar la persona');
});
}
}
// Obtener el ID de la persona a eliminar desde la URL
const urlParams = new URLSearchParams(window.location.search);
const idPersona = urlParams.get('id');
// Cargar los datos de la persona
cargarDatos(idPersona);
// Asociar la función "eliminarPersona" al evento "submit" del formulario
jose fernandez
hazme un codigo de formulario para cargar foto con nombre y dni con fetch api json con php mysql javascript puro metodo delete de sql metodo pdo usar document.getElementById("foto") document.getElementById("nombre") document.getElementById("dni")
Claro, a continuación te muestro el código HTML y JavaScript del formulario para eliminar una persona de la base de datos:
HTML
Copy code
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Eliminar Persona</title>
</head>
<body>
<form id="formEliminar" method="POST">
<input type="hidden" id="id" name="id">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" readonly><br><br>
<label for="dni">DNI:</label>
<input type="text" id="dni" name="dni" readonly><br><br>
<label for="foto">Foto:</label>
<img id="fotoMostrar" src="" width="100"><br><br>
<input type="submit" value="Eliminar">
</form>
<script>
const formEliminar = document.getElementById('formEliminar');
const id = document.getElementById('id');
const nombre = document.getElementById('nombre');
const dni = document.getElementById('dni');
const fotoMostrar = document.getElementById('fotoMostrar');
// Función para cargar los datos de la persona a eliminar
function cargarDatos(idPersona) {
fetch('obtener_persona.php?id=' + idPersona)
.then(response => response.json())
.then(data => {
if(data.status === 'success') {
id.value = data.persona.id;
nombre.value = data.persona.nombre;
dni.value = data.persona.dni;
fotoMostrar.src = 'uploads/' + data.persona.foto;
} else {
alert(data.message);
}
})
.catch(error => {
console.log(error);
alert('Hubo un error al cargar los datos de la persona');
});
}
// Función para eliminar la persona
function eliminarPersona(event) {
event.preventDefault();
if(confirm('¿Está seguro que desea eliminar esta persona?')) {
const data = new FormData(formEliminar);
fetch('eliminar_persona.php', {
method: 'POST',
body: data
})
.then(response => response.json())
.then(data => {
if(data.status === 'success') {
alert(data.message);
// Redireccionar a la página principal
location.href = 'index.php';
} else {
alert(data.message);
}
})
.catch(error => {
console.log(error);
alert('Hubo un error al eliminar la persona');
});
}
}
// Obtener el ID de la persona a eliminar desde la URL
const urlParams = new URLSearchParams(window.location.search);
const idPersona = urlParams.get('id');
// Cargar los datos de la persona
cargarDatos(idPersona);
// Asociar la función "eliminarPersona" al evento "submit" del formulario
formEliminar.addEventListener('submit', eliminarPersona);
</script>
</body>
</html>
Este código utiliza el evento "submit" del formulario para llamar a la función "eliminarPersona", que se encarga de enviar los datos del formulario mediante una petición Fetch al archivo "eliminar_persona.php" en el servidor. Si la eliminación de la persona en la base de datos es exitosa, se muestra un mensaje de éxito y se redirecciona al usuario a la página principal. Si ocurre algún error durante el proceso, se muestra un mensaje de error al usuario. La eliminación de la foto de la carpeta "uploads"
jose fernandez
hazme codigo eliminar_persona.php
¡Por supuesto! A continuación, te muestro el código PHP para eliminar una persona de la base de datos y su correspondiente foto de la carpeta "uploads":
php
Copy code
<?php
// Establecer la conexión con la base de datos
$host = "localhost";
$usuario = "tu_usuario";
$password = "tu_password";
$bd = "tu_base_de_datos";
try {
$conexion = new PDO("mysql:host=$host;dbname=$bd", $usuario, $password);
$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Error al conectar con la base de datos: " . $e->getMessage());
}
// Obtener el ID de la persona a eliminar
$id = $_POST['id'];
// Obtener los datos de la persona a eliminar
$consulta = $conexion->prepare("SELECT * FROM personas WHERE id = ?");
$consulta->execute([$id]);
$persona = $consulta->fetch();
if(!$persona) {
// La persona no existe en la base de datos
$response = array(
'status' => 'error',
'message' => 'La persona que intenta eliminar no existe en la base de datos'
);
echo json_encode($response);
exit();
}
// Eliminar la persona de la base de datos
$consulta = $conexion->prepare("DELETE FROM personas WHERE id = ?");
$consulta->execute([$id]);
if($consulta->rowCount() > 0) {
// La eliminación fue exitosa
// Eliminar la foto de la carpeta "uploads"
unlink('uploads/' . $persona['foto']);
$response = array(
'status' => 'success',
'message' => 'La persona fue eliminada correctamente'
);
echo json_encode($response);
} else {
// La eliminación no fue exitosa
$response = array(
'status' => 'error',
'message' => 'Hubo un error al eliminar la persona de la base de datos'
);
echo json_encode($response);
}
?>
Este código recibe los datos enviados por el formulario de eliminación mediante el método POST y utiliza el ID de la persona a eliminar para buscar sus datos en la base de datos. Si la persona existe en la base de datos, se elimina su registro mediante una consulta SQL y se elimina su correspondiente foto de la carpeta "uploads" mediante la función "unlink()". Si la eliminación fue exitosa, se devuelve un mensaje de éxito al cliente en formato JSON. Si hubo algún error durante el proceso, se devuelve un mensaje de error al cliente en formato JSON.
jose fernandez
hazme el cdigo del obtener_persona.php?id=
¡Por supuesto! A continuación te muestro el código PHP para obtener los datos de una persona específica a través de su ID:
php
Copy code
<?php
// Establecer la conexión con la base de datos
$host = "localhost";
$usuario = "tu_usuario";
$password = "tu_password";
$bd = "tu_base_de_datos";
try {
$conexion = new PDO("mysql:host=$host;dbname=$bd", $usuario, $password);
$conexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Error al conectar con la base de datos: " . $e->getMessage());
}
// Obtener el ID de la persona a buscar
$id = $_GET['id'];
// Obtener los datos de la persona de la base de datos
$consulta = $conexion->prepare("SELECT * FROM personas WHERE id = ?");
$consulta->execute([$id]);
$persona = $consulta->fetch(PDO::FETCH_ASSOC);
if($persona) {
// La persona fue encontrada en la base de datos
$response = array(
'status' => 'success',
'data' => $persona
);
echo json_encode($response);
} else {
// La persona no fue encontrada en la base de datos
$response = array(
'status' => 'error',
'message' => 'La persona que intenta buscar no existe en la base de datos'
);
echo json_encode($response);
}
?>
Este código recibe el ID de la persona a buscar a través de la variable "id" enviada por el método GET. Luego, se realiza una consulta SQL para buscar los datos de la persona en la base de datos. Si la persona existe, se devuelve un mensaje de éxito al cliente en formato JSON, junto con los datos de la persona encontrada. Si la persona no existe, se devuelve un mensaje de error al cliente en formato JSON.
Comentarios
Publicar un comentario