CRUD PESONAS FOTOS document.getElementById
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.
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.
¡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));
});
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.
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"
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
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..
obtener datos de la
persona con foto haciendo click sobre boton en la fila del registro sobre una
tabla para abrir en otro formulario con
los datos cargados hacer codigo con fetch api json mysql metodo pdo metodo
where del sql
Para obtener los datos de una persona junto con su foto haciendo
clic en un botón en la fila de una tabla, puedes usar el siguiente código en
HTML, JavaScript y PHP:
HTML:
html
Copy code
<table id="tabla-personas">
<thead>
<tr>
<th>Nombre</th>
<th>DNI</th>
<th>Foto</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<!-- Aquí se muestran los registros de
la base de datos -->
</tbody>
</table>
<!-- Este es el
formulario donde se muestran los datos de la persona seleccionada -->
<form
id="formulario-persona">
<label
for="nombre">Nombre:</label>
<input type="text"
id="nombre" name="nombre" required>
<br>
<label
for="dni">DNI:</label>
<input
type="text" id="dni" name="dni" required>
<br>
<img id="foto" src=""
alt="Foto de la persona">
<br>
<input
type="hidden" id="id" name="id">
<br>
<input
type="submit" value="Actualizar">
</form>
JavaScript:
javascript
Copy code
// Obtener la tabla
y el formulario
const tablaPersonas
= document.getElementById('tabla-personas');
const
formularioPersona = document.getElementById('formulario-persona');
// Agregar un
listener a la tabla para capturar el clic en los botones de "Editar"
tablaPersonas.addEventListener('click', function(e) {
if (e.target
&& e.target.classList.contains('boton-editar')) {
// Obtener el ID de la persona seleccionada
const id = e.target.dataset.id;
// Realizar la petición fetch para obtener
los datos de la persona
fetch(`obtener_persona.php?id=${id}`)
.then(response => response.json())
.then(data
=> {
// Mostrar los datos de la persona en el
formulario
const persona = data.data;
formularioPersona.nombre.value =
persona.nombre;
formularioPersona.dni.value =
persona.dni;
formularioPersona.id.value =
persona.id;
formularioPersona.foto.src =
`ruta/a/la/carpeta/donde/se/guardan/las/fotos/${persona.foto}`;
})
.catch(error => {
console.log('Error al obtener los datos
de la persona:', error);
});
}
});
PHP
(obtener_persona.php):
<?php
// Configuración de
la conexión a la base de datos
$host = 'localhost';
$dbname =
'nombre_de_la_base_de_datos';
$username =
'nombre_de_usuario';
$password =
'contraseña_del_usuario';
// Conexión a la
base de datos usando PDO
try {
$conn = new
PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException
$e) {
echo 'Error al conectar a la base de datos:
' . $e->getMessage();
}
// Obtener el ID de
la persona desde la variable GET
$id = $_GET['id'];
// Consulta SQL para
obtener los datos de la persona con el ID especificado
$sql = "SELECT * FROM personas WHERE id =
:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();
$persona = $stmt->fetch(PDO::FETCH_ASSOC);
// Comprobar si se
encontró la persona
if (!$persona) {
// Si no se encuentra la persona, enviar una
respuesta con un estado de error y un mensaje
$response = array(
'status' => 'error',
'message' => 'Persona no encontrada'
);
} else {
// Si se encuentra la persona, enviar una
respuesta con un estado de éxito y los datos de la persona
$response = array(
'status'
=> 'success',
'data' =>
$persona
);
}
// Devolver la
respuesta como objeto JSON
header('Content-Type: application/json');
echo
json_encode($response);
?>
hazme el
codigo de cargar los datos y foto de la tabla persona <table
id="tabla-personas">
Por favor,
proporcione más información sobre la estructura de su tabla de base de datos y
cómo está almacenada la foto de la persona. Sin esa información, no puedo
brindar una respuesta precisa. Sin embargo, aquí hay un ejemplo básico que
muestra cómo cargar los datos de la tabla de personas en una tabla HTML usando
Ajax y JSON:
HTML:
php
Copy code
<table id="tabla-personas">
<thead>
<tr>
<th>Nombre</th>
<th>DNI</th>
<th>Foto</th>
</tr>
</thead>
<tbody></tbody>
</table>
JavaScript:
javascript
Copy code
const tablaPersonas
= document.getElementById('tabla-personas');
fetch('obtener_personas.php')
.then(response
=> response.json())
.then(data
=> {
data.forEach(persona => {
const fila
= document.createElement('tr');
const
nombre = document.createElement('td');
const dni
= document.createElement('td');
const foto
= document.createElement('td');
const
imagen = document.createElement('img');
nombre.textContent = persona.nombre;
dni.textContent = persona.dni;
imagen.src = persona.foto;
foto.appendChild(imagen);
fila.appendChild(nombre);
fila.appendChild(dni);
fila.appendChild(foto);
tablaPersonas.appendChild(fila);
});
});
PHP
(obtener_personas.php):
php
Copy code
<?php
// Conexión a la
base de datos
$pdo = new
PDO('mysql:host=localhost;dbname=nombre_de_la_base_de_datos', 'usuario',
'contraseña');
// Consulta para
obtener los datos de las personas
$statement = $pdo->query('SELECT * FROM personas');
// Obtener los
resultados de la consulta
$personas = $statement->fetchAll(PDO::FETCH_ASSOC);
// Crear un array
con los datos de cada persona
$response = array();
foreach ($personas as $persona) {
$response[] = array(
'nombre' => $persona['nombre'],
'dni' => $persona['dni'],
'foto' => $persona['foto']
);
}
// Devolver los
datos en formato JSON
header('Content-Type: application/json');
echo
json_encode($response);
hazme el codigo de cargar
los datos y foto desde carpeta uploads de la tabla persona en una tabla html con fetch api json con php
mysql
Claro, aquí te
muestro un ejemplo de cómo podrías cargar los datos y fotos de la tabla persona
utilizando fetch api json con PHP y MySQL:
index.html:
php
Copy code
<!DOCTYPE html>
<html lang="es">
<head>
<meta
charset="UTF-8">
<meta
name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Cargar datos y fotos de
personas</title>
</head>
<body>
<table
id="tabla-personas">
<thead>
<tr>
<th>ID</th>
<th>Nombre</th>
<th>DNI</th>
<th>Foto</th>
</tr>
</thead>
<tbody></tbody>
</table>
<script
src="script.js"></script>
</body>
</html>
script.js:
javascript
Copy code
const tablaPersonas
= document.querySelector('#tabla-personas tbody');
// función para
cargar los datos y fotos de la tabla persona
function
cargarDatosPersonas() {
fetch('obtener_personas.php')
.then(response => response.json())
.then(data
=> {
// vaciar la tabla
tablaPersonas.innerHTML = '';
// agregar los datos a la tabla
data.forEach(persona => {
const
fila = document.createElement('tr');
fila.innerHTML = `
<td>${persona.id}</td>
<td>${persona.nombre}</td>
<td>${persona.dni}</td>
<td><img src="uploads/${persona.foto}"
width="100" height="100"></td>
`;
tablaPersonas.appendChild(fila);
});
})
.catch(error => console.error(error));
}
// cargar los datos
y fotos al cargar la página
cargarDatosPersonas();
obtener_personas.php:
php
Copy code
<?php
// establecer la
conexión con la base de datos
$host = 'localhost';
$dbname =
'nombre_de_la_base_de_datos';
$username =
'nombre_de_usuario';
$password =
'contraseña';
$dsn =
"mysql:host=$host;dbname=$dbname;charset=utf8mb4";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new
PDO($dsn, $username, $password, $options);
} catch
(PDOException $e) {
die('Error de conexión: ' .
$e->getMessage());
}
// obtener los datos
y fotos de la tabla persona
$stmt =
$pdo->query('SELECT id, nombre, dni, foto FROM persona');
$personas =
$stmt->fetchAll();
// enviar los datos
como respuesta en formato JSON
$response = array(
'status' =>
'success',
'data' =>
$personas
);
header('Content-Type: application/json');
echo
json_encode($response);
Asegúrate
de cambiar los valores de las variables $host, $dbname, $username y $password
en el archivo obtener_personas.php para que coincidan con los de tu
configuración. Además, asegúrate de tener una carpeta uploads en la misma
ubicación que obtener_personas.php donde se encuentran las fotos de las
personas.
agregar los botones
de editar y boton de borrar en etiqueta td de la tabla <td>
</td>
Para agregar los
botones de editar y borrar en una etiqueta td de la tabla, podemos utilizar el
siguiente código HTML:
html
Copy code
<td>
<button
onclick="editarPersona(id)">Editar</button>
<button
onclick="borrarPersona(id)">Borrar</button>
</td>
Donde id es el
identificador único de la persona en la tabla.
Para utilizar este
código en la función que carga los datos de la tabla con Fetch API y JSON,
podemos reemplazar la línea correspondiente a la creación de la fila de la
tabla con el siguiente código:
javascript
Copy code
let fila = tablaPersonas.insertRow();
let celdaFoto = fila.insertCell();
celdaFoto.innerHTML = '<img src="uploads/' +
persona.foto + '" width="50"/>';
let celdaNombre =
fila.insertCell();
celdaNombre.innerHTML
= persona.nombre;
let celdaDNI = fila.insertCell();
celdaDNI.innerHTML = persona.dni;
let celdaBotones = fila.insertCell();
celdaBotones.innerHTML = '<button
onclick="editarPersona(' + persona.id + ')">Editar</button>'
+
'<button
onclick="borrarPersona(' + persona.id +
')">Borrar</button>';
Donde editarPersona
y borrarPersona son las funciones JavaScript encargadas de abrir el formulario
de edición y de enviar la petición de borrado, respectivamente. También se
incluye la creación de una celda para la foto de la persona, utilizando el
elemento img de HTML y especificando la ruta relativa de la carpeta uploads.
Comentarios
Publicar un comentario