UPDATE - ES6 - API FETCH ENVIAR UN ARCHIVO ADJUNTO CON NOMBRE Y APELLIDO UPDATE MYSQL PDO PHP

 

ES6 - API fetch enviar un archivo adjunto con nombre y apellido update mysql pdo php

Para enviar un archivo adjunto con nombre y apellido utilizando fetch en ES6 y luego actualizarlo en una base de datos MySQL mediante PDO en PHP, necesitarás crear una instancia de FormData y agregar los datos del archivo y los nombres y apellidos a ella utilizando el método append. Luego, puedes enviar la instancia de FormData a través de la solicitud fetch con el tipo de contenido "multipart/form-data".

 

Aquí hay un ejemplo de cómo podrías hacerlo:

 

javascript

Copy code

const idInput = document.querySelector('#id');

const firstNameInput = document.querySelector('#first-name');

const lastNameInput = document.querySelector('#last-name');

const fileInput = document.querySelector('#file-input');

 

const submitButton = document.querySelector('#submit-button');

submitButton.addEventListener('click', () => {

  const id = idInput.value;

  const firstName = firstNameInput.value;

  const lastName = lastNameInput.value;

  const file = fileInput.files[0];

 

  const formData = new FormData();

  formData.append('file', file);

  formData.append('id', id);

  formData.append('first-name', firstName);

  formData.append('last-name', lastName);

 

  fetch('/update.php', {

    method: 'POST',

    body: formData

  })

  .then(response => {

    if (!response.ok) {

      throw new Error('Network response was not ok');

    }

    return response.json();

  })

  .then(data => {

    console.log(data);

  })

  .catch(error => {

    console.error('There was an error updating the file:', error);

  });

});

En el ejemplo anterior, se obtienen los valores de los campos de ID, nombre y apellido y del archivo de entrada. Se crea una instancia de FormData y se agregan los valores de los campos de ID, nombre y apellido y del archivo de entrada utilizando el método append. Luego, se envía la instancia de FormData a través de la solicitud fetch en el cuerpo de la solicitud con el tipo de contenido "multipart/form-data". La respuesta de la solicitud se convierte a JSON utilizando el método json, y se imprime en la consola. Si hay algún error al enviar la solicitud, se maneja en el bloque catch.

 

En la página PHP update.php, puedes utilizar PDO para conectarte a la base de datos y realizar una actualización de datos. Aquí hay un ejemplo de cómo podrías hacerlo:

 

php

Copy code

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDBPDO";

 

try {

  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 

  $id = $_POST['id'];

  $firstName = $_POST['first-name'];

  $lastName = $_POST['last-name'];

  $file = $_FILES['file']['name'];

 

  $stmt = $conn->prepare("UPDATE myTable SET first_name = :first_name, last_name = :last_name, file_name = :file_name WHERE id = :id");

  $stmt->bindParam(':id', $id);

  $stmt->bindParam(':first_name', $firstName);

  $stmt->bindParam(':last_name', $lastName);

  $stmt->bindParam(':file_name', $file);

  $stmt->execute();

 

  $result = array('success' => true);

  echo json_encode($result);

}

catch(PDOException $e) {

  $result = array('success' => false, 'error' => $e->getMessage());

  echo json_encode($result);

}

 

$conn = null;

?>

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