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

Entradas populares de este blog

INSERTAR Y UPDATE FECHA CON PHP MYSQL EN FORMULARIO METODO POST CON JQUERY ETIQUETA DATE

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

CONVERTIR IMÁGEN JPG O PNG A WEBP CON PHP DE FORMA SIMPLE