CRUD PERSONAS FOTO FECH API JSON PHP MYSQL PDO

 

form fetch api json php insert sql mysql pdo nombre apellido y photo

I understand that you want to use the Fetch API to send JSON data from a PHP script to a MySQL database using PDO, and the data includes a name, surname, and a photo. Here's an example of how you can achieve this:

 

Create a form in HTML that allows the user to enter their name, surname, and photo:

php

Copy code

<form>

  <label for="name">Name:</label>

  <input type="text" id="name" name="name">

 

  <label for="surname">Surname:</label>

  <input type="text" id="surname" name="surname">

 

  <label for="photo">Photo:</label>

  <input type="file" id="photo" name="photo">

 

  <button type="button" onclick="sendData()">Submit</button>

</form>

Write a JavaScript function that uses the Fetch API to send the form data as JSON to the PHP script:

javascript

Copy code

function sendData() {

  const name = document.getElementById('name').value;

  const surname = document.getElementById('surname').value;

  const photo = document.getElementById('photo').files[0];

 

  const formData = new FormData();

  formData.append('name', name);

  formData.append('surname', surname);

  formData.append('photo', photo);

 

  fetch('insert.php', {

    method: 'POST',

    body: formData

  })

  .then(response => response.json())

  .then(data => console.log(data))

  .catch(error => console.error(error));

}

Create a PHP script called "insert.php" that receives the JSON data, processes it, and inserts it into the MySQL database using PDO:

php

Copy code

<?php

// Connect to the database using PDO

$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');

 

// Get the JSON data from the request body

$data = json_decode(file_get_contents('php://input'), true);

 

// Insert the data into the database

$stmt = $pdo->prepare('INSERT INTO mytable (name, surname, photo) VALUES (:name, :surname, :photo)');

$stmt->bindParam(':name', $data['name']);

$stmt->bindParam(':surname', $data['surname']);

 

// Handle the photo upload

$target_dir = 'uploads/';

$target_file = $target_dir . basename($_FILES['photo']['name']);

move_uploaded_file($_FILES['photo']['tmp_name'], $target_file);

 

$stmt->bindParam(':photo', $target_file);

$stmt->execute();

 

// Send a response back to the client

$response = ['status' => 'success'];

header('Content-Type: application/json');

echo json_encode($response);

?>

Note that this example assumes that the MySQL table "mytable" has columns called "name", "surname", and "photo", and that the "photo" column is a string that stores the path to the uploaded photo file. You may need to modify the code to match your specific database schema. Additionally, you should consider adding validation and error handling to your code to ensure that the data is inserted correctly and securely.

 

 

 

form fetch api json php UPDATE sql mysql pdo nombre apellido y photo

Sure, I can provide an example of how to use the Fetch API with PHP and MySQL PDO to update data in a MySQL database. Here's a step-by-step guide:

 

Create an HTML form that allows the user to enter the data to be updated:

ruby

Copy code

<form>

  <label for="id">ID:</label>

  <input type="text" id="id" name="id">

 

  <label for="name">Name:</label>

  <input type="text" id="name" name="name">

 

  <label for="surname">Surname:</label>

  <input type="text" id="surname" name="surname">

 

  <label for="photo">Photo:</label>

  <input type="file" id="photo" name="photo">

 

  <button type="button" onclick="sendData()">Update</button>

</form>

Write a JavaScript function that uses the Fetch API to send the form data as JSON to the PHP script:

javascript

Copy code

function sendData() {

  const id = document.getElementById('id').value;

  const name = document.getElementById('name').value;

  const surname = document.getElementById('surname').value;

  const photo = document.getElementById('photo').files[0];

 

  const formData = new FormData();

  formData.append('id', id);

  formData.append('name', name);

  formData.append('surname', surname);

  formData.append('photo', photo);

 

  fetch('update.php', {

    method: 'POST',

    body: formData

  })

  .then(response => response.json())

  .then(data => console.log(data))

  .catch(error => console.error(error));

}

Create a PHP script called "update.php" that receives the JSON data, processes it, and updates the corresponding record in the MySQL database using PDO:

php

Copy code

<?php

// Connect to the database using PDO

$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');

 

// Get the JSON data from the request body

$data = json_decode(file_get_contents('php://input'), true);

 

// Update the data in the database

$stmt = $pdo->prepare('UPDATE mytable SET name = :name, surname = :surname, photo = :photo WHERE id = :id');

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

$stmt->bindParam(':name', $data['name']);

$stmt->bindParam(':surname', $data['surname']);

 

// Handle the photo upload

$target_dir = 'uploads/';

$target_file = $target_dir . basename($_FILES['photo']['name']);

move_uploaded_file($_FILES['photo']['tmp_name'], $target_file);

 

$stmt->bindParam(':photo', $target_file);

$stmt->execute();

 

// Send a response back to the client

$response = ['status' => 'success'];

header('Content-Type: application/json');

echo json_encode($response);

?>

Note that this example assumes that the MySQL table "mytable" has columns called "id", "name", "surname", and "photo", and that the "photo" column is a string that stores the path to the uploaded photo file. You may need to modify the code to match your specific database schema. Additionally, you should consider adding validation and error handling to your code to ensure that the data is updated correctly and securely.

 

form fetch api json php DELETE sql mysql pdo nombre apellido y UNLINK photo

Sure, here's an updated example of how to use the Fetch API with PHP and MySQL PDO to delete data from a MySQL database, and also delete the corresponding photo file from the server using the unlink() function:

 

Create an HTML form that allows the user to enter the ID of the record to be deleted:

php

Copy code

<form>

  <label for="id">ID:</label>

  <input type="text" id="id" name="id">

 

  <button type="button" onclick="sendData()">Delete</button>

</form>

Write a JavaScript function that uses the Fetch API to send the ID as JSON to the PHP script:

javascript

Copy code

function sendData() {

  const id = document.getElementById('id').value;

 

  const formData = new FormData();

  formData.append('id', id);

 

  fetch('delete.php', {

    method: 'POST',

    body: formData

  })

  .then(response => response.json())

  .then(data => console.log(data))

  .catch(error => console.error(error));

}

Create a PHP script called "delete.php" that receives the JSON data, processes it, deletes the corresponding record from the MySQL database using PDO, and deletes the corresponding photo file from the server using the unlink() function:

php

Copy code

<?php

// Connect to the database using PDO

$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'myusername', 'mypassword');

 

// Get the JSON data from the request body

$data = json_decode(file_get_contents('php://input'), true);

 

// Get the photo file path from the database

$stmt = $pdo->prepare('SELECT photo FROM mytable WHERE id = :id');

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

$stmt->execute();

$photo = $stmt->fetchColumn();

 

// Delete the data from the database

$stmt = $pdo->prepare('DELETE FROM mytable WHERE id = :id');

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

$stmt->execute();

 

// Delete the photo file from the server

unlink($photo);

 

// Send a response back to the client

$response = ['status' => 'success'];

header('Content-Type: application/json');

echo json_encode($response);

?>

Note that this example assumes that the MySQL table "mytable" has columns called "id", "name", "surname", and "photo", and that the "photo" column is a string that stores the path to the uploaded photo file. You may need to modify the code to match your specific database schema. Additionally, you should consider adding validation and error handling to your code to ensure that the data is deleted correctly and securely.

////////////////////////////////ESTEEEEEEEEEEEEEEEEEEEEEEEEEEEEE///////////////////////////////////////

haz un codigo con fetch api json php insert sql mysql pdo nombre apellido y photo con formulario html

Para hacer lo que me pides, primero necesitaremos crear una base de datos y una tabla para almacenar los datos que ingresará el usuario. Luego, podemos escribir el código PHP que procesará los datos del formulario y los insertará en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Insertar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm" enctype="multipart/form-data">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre"><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido"><br><br>

          <label for="photo">Foto:</label>

          <input type="file" id="photo" name="photo"><br><br>

          <input type="submit" value="Enviar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('insertar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (insertar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $nombre = $_POST['nombre'];

    $apellido = $_POST['apellido'];

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

 

    $stmt = $conn->prepare("INSERT INTO personas (nombre, apellido, photo) VALUES (:nombre, :apellido, :photo)");

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

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

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

    $stmt->execute();

 

    $target_dir = "uploads/";

    $target_file = $target_dir . basename($_FILES["photo"]["name"]);

    move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);

 

    $response = array('status' => 'success', 'message' => 'Datos insertados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos los datos del formulario utilizando la variable superglobal $_POST. También obtenemos el nombre del archivo de imagen utilizando la variable superglobal $_FILES. Insertamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO y movemos la imagen a la carpeta "uploads". Finalmente, enviamos una respuesta JSON al cliente indicando si los datos se insertaron correctamente o si ocurrió un error.

 

Recuerda reemplazar "tu_usuario", "tu_contraseña

 

 

 

 

jose fernandez

haz un codigo con fetch api json php UPDATE sql mysql pdo nombre apellido y photo con formulario html

Para hacer lo que me pides, necesitaremos crear una tabla en la base de datos que tenga los campos "id", "nombre", "apellido" y "photo". Luego, podemos escribir el código PHP que actualizará los datos en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Actualizar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm" enctype="multipart/form-data">

          <input type="hidden" id="id" name="id">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre"><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido"><br><br>

          <label for="photo">Foto:</label>

          <input type="file" id="photo" name="photo"><br><br>

          <input type="submit" value="Actualizar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('actualizar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (actualizar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

    $nombre = $_POST['nombre'];

    $apellido = $_POST['apellido'];

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

 

    $stmt = $conn->prepare("UPDATE personas SET nombre = :nombre, apellido = :apellido, photo = :photo WHERE id = :id");

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

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

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

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

    $stmt->execute();

 

    $target_dir = "uploads/";

    $target_file = $target_dir . basename($_FILES["photo"]["name"]);

    move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);

 

    $response = array('status' => 'success', 'message' => 'Datos actualizados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos los datos del formulario utilizando la variable superglobal $_POST. También obtenemos el nombre del archivo de imagen utilizando la variable superglobal $_FILES. Actualizamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO y movemos la imagen a la carpeta "uploads". Finalmente, env

 

 

 

 

jose fernandez

haz un codigo con fetch api json php DELETE sql mysql pdo nombre apellido y photo con formulario html

Para hacer lo que me pides, necesitaremos crear una tabla en la base de datos que tenga los campos "id", "nombre", "apellido" y "photo". Luego, podemos escribir el código PHP que eliminará los datos en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Eliminar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm">

          <input type="hidden" id="id" name="id">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre" disabled><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido" disabled><br><br>

          <label for="photo">Foto:</label>

          <input type="text" id="photo" name="photo" disabled><br><br>

          <input type="submit" value="Eliminar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('eliminar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (eliminar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

 

    $stmt = $conn->prepare("DELETE FROM personas WHERE id = :id");

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

    $stmt->execute();

 

    $response = array('status' => 'success', 'message' => 'Datos eliminados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos el ID del formulario utilizando la variable superglobal $_POST. Eliminamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO. Finalmente, enviamos una respuesta en formato JSON que indica si la eliminación fue exitosa o no.

 

En el formulario HTML, utilizamos un campo "disabled" para que el usuario no pueda editar los campos de nombre, apellido y foto, ya que estamos eliminando los datos.

 

 

 

 

jose fernandez

eliminar.php INCLUIR CODIGO PARA BORRAR LA FOTO DENTRO DE LA CARPETA

Para eliminar la foto de la carpeta al mismo tiempo que se eliminan los datos de la base de datos, podemos utilizar la función unlink() de PHP.

 

Aquí está el código PHP actualizado con la eliminación de la foto:

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

 

    // Obtenemos el nombre de la foto asociada a la persona a eliminar

    $stmt = $conn->prepare("SELECT photo FROM personas WHERE id = :id");

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

    $stmt->execute();

    $row = $stmt->fetch();

    $photo = $row['photo'];

 

    // Eliminamos los datos de la persona de la tabla "personas"

    $stmt = $conn->prepare("DELETE FROM personas WHERE id = :id");

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

    $stmt->execute();

 

    // Eliminamos la foto asociada a la persona de la carpeta

    unlink('ruta/a/la/carpeta/' . $photo);

 

    $response = array('status' => 'success', 'message' => 'Datos eliminados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero obtenemos el nombre de la foto asociada a la persona a eliminar mediante una consulta SQL. Luego, eliminamos los datos de la persona de la tabla "personas". Finalmente, utilizamos la función unlink() para eliminar la foto de la carpeta.

 

Ten en cuenta que debes reemplazar la cadena 'ruta/a/la/carpeta/' con la ruta real a la carpeta donde se encuentran las fotos.

////////////

haz un codigo con fetch api json php insert sql mysql pdo nombre apellido y photo con formulario html

 

Para hacer lo que me pides, primero necesitaremos crear una base de datos y una tabla para almacenar los datos que ingresará el usuario. Luego, podemos escribir el código PHP que procesará los datos del formulario y los insertará en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Insertar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm" enctype="multipart/form-data">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre"><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido"><br><br>

          <label for="photo">Foto:</label>

          <input type="file" id="photo" name="photo"><br><br>

          <input type="submit" value="Enviar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('insertar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (insertar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $nombre = $_POST['nombre'];

    $apellido = $_POST['apellido'];

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

 

    $stmt = $conn->prepare("INSERT INTO personas (nombre, apellido, photo) VALUES (:nombre, :apellido, :photo)");

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

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

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

    $stmt->execute();

 

    $target_dir = "uploads/";

    $target_file = $target_dir . basename($_FILES["photo"]["name"]);

    move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);

 

    $response = array('status' => 'success', 'message' => 'Datos insertados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos los datos del formulario utilizando la variable superglobal $_POST. También obtenemos el nombre del archivo de imagen utilizando la variable superglobal $_FILES. Insertamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO y movemos la imagen a la carpeta "uploads". Finalmente, enviamos una respuesta JSON al cliente indicando si los datos se insertaron correctamente o si ocurrió un error.

 

Recuerda reemplazar "tu_usuario", "tu_contraseña

 

 

 

 

jose fernandez

haz un codigo con fetch api json php UPDATE sql mysql pdo nombre apellido y photo con formulario html

Para hacer lo que me pides, necesitaremos crear una tabla en la base de datos que tenga los campos "id", "nombre", "apellido" y "photo". Luego, podemos escribir el código PHP que actualizará los datos en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Actualizar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm" enctype="multipart/form-data">

          <input type="hidden" id="id" name="id">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre"><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido"><br><br>

          <label for="photo">Foto:</label>

          <input type="file" id="photo" name="photo"><br><br>

          <input type="submit" value="Actualizar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('actualizar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (actualizar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

    $nombre = $_POST['nombre'];

    $apellido = $_POST['apellido'];

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

 

    $stmt = $conn->prepare("UPDATE personas SET nombre = :nombre, apellido = :apellido, photo = :photo WHERE id = :id");

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

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

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

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

    $stmt->execute();

 

    $target_dir = "uploads/";

    $target_file = $target_dir . basename($_FILES["photo"]["name"]);

    move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);

 

    $response = array('status' => 'success', 'message' => 'Datos actualizados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos los datos del formulario utilizando la variable superglobal $_POST. También obtenemos el nombre del archivo de imagen utilizando la variable superglobal $_FILES. Actualizamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO y movemos la imagen a la carpeta "uploads". Finalmente, env

 

 

 

 

jose fernandez

haz un codigo con fetch api json php DELETE sql mysql pdo nombre apellido y photo con formulario html

Para hacer lo que me pides, necesitaremos crear una tabla en la base de datos que tenga los campos "id", "nombre", "apellido" y "photo". Luego, podemos escribir el código PHP que eliminará los datos en la base de datos. También necesitaremos escribir el código JavaScript que enviará los datos del formulario al servidor utilizando Fetch API.

 

Aquí está el código completo que hace lo que pides:

 

HTML:

 

php

Copy code

<!DOCTYPE html>

<html>

<head>

     <title>Eliminar datos en MySQL con PHP y Fetch API</title>

</head>

<body>

     <form id="myForm">

          <input type="hidden" id="id" name="id">

          <label for="nombre">Nombre:</label>

          <input type="text" id="nombre" name="nombre" disabled><br><br>

          <label for="apellido">Apellido:</label>

          <input type="text" id="apellido" name="apellido" disabled><br><br>

          <label for="photo">Foto:</label>

          <input type="text" id="photo" name="photo" disabled><br><br>

          <input type="submit" value="Eliminar">

     </form>

 

     <script>

          const form = document.getElementById('myForm');

 

          form.addEventListener('submit', e => {

                e.preventDefault();

 

                const formData = new FormData(form);

 

                fetch('eliminar.php', {

                     method: 'POST',

                     body: formData

                })

                .then(response => response.json())

                .then(data => {

                     console.log(data);

                })

                .catch(error => {

                     console.error(error);

                })

          });

     </script>

</body>

</html>

PHP (eliminar.php):

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

 

    $stmt = $conn->prepare("DELETE FROM personas WHERE id = :id");

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

    $stmt->execute();

 

    $response = array('status' => 'success', 'message' => 'Datos eliminados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero creamos una conexión a la base de datos utilizando PDO. Luego, obtenemos el ID del formulario utilizando la variable superglobal $_POST. Eliminamos los datos en la tabla "personas" utilizando una sentencia preparada de PDO. Finalmente, enviamos una respuesta en formato JSON que indica si la eliminación fue exitosa o no.

 

En el formulario HTML, utilizamos un campo "disabled" para que el usuario no pueda editar los campos de nombre, apellido y foto, ya que estamos eliminando los datos.

 

 

 

 

jose fernandez

eliminar.php INCLUIR CODIGO PARA BORRAR LA FOTO DENTRO DE LA CARPETA

Para eliminar la foto de la carpeta al mismo tiempo que se eliminan los datos de la base de datos, podemos utilizar la función unlink() de PHP.

 

Aquí está el código PHP actualizado con la eliminación de la foto:

 

php

Copy code

<?php

 

$servername = "localhost";

$username = "tu_usuario";

$password = "tu_contraseña";

$dbname = "tu_base_de_datos";

 

try {

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

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

 

    $id = $_POST['id'];

 

    // Obtenemos el nombre de la foto asociada a la persona a eliminar

    $stmt = $conn->prepare("SELECT photo FROM personas WHERE id = :id");

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

    $stmt->execute();

    $row = $stmt->fetch();

    $photo = $row['photo'];

 

    // Eliminamos los datos de la persona de la tabla "personas"

    $stmt = $conn->prepare("DELETE FROM personas WHERE id = :id");

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

    $stmt->execute();

 

    // Eliminamos la foto asociada a la persona de la carpeta

    unlink('ruta/a/la/carpeta/' . $photo);

 

    $response = array('status' => 'success', 'message' => 'Datos eliminados correctamente');

    echo json_encode($response);

}

catch(PDOException $e) {

    $response = array('status' => 'error', 'message' => $e->getMessage());

    echo json_encode($response);

}

 

$conn = null;

 

?>

En el código PHP, primero obtenemos el nombre de la foto asociada a la persona a eliminar mediante una consulta SQL. Luego, eliminamos los datos de la persona de la tabla "personas". Finalmente, utilizamos la función unlink() para eliminar la foto de la carpeta.

 

Ten en cuenta que debes reemplazar la cadena 'ruta/a/la/carpeta/' con la ruta real a la carpeta donde se encuentran las fotos.

 

 

 

 

jose fernandez

UTILIZAR document.getElementById

Si quieres utilizar document.getElementById para borrar la foto de la carpeta desde el lado del cliente, aquí te muestro cómo podrías hacerlo:

 

En tu archivo HTML, agrega un elemento img donde se mostrará la foto de la persona a eliminar:

html

Copy code

<img id="photo" src="ruta/a/la/carpeta/nombre_de_la_foto.jpg" alt="Foto de la persona">

Agrega un evento onclick a tu botón de eliminación en el archivo HTML:

html

Copy code

<button id="deleteButton" onclick="deletePerson()">Eliminar</button>

En tu archivo JavaScript, define la función deletePerson() que se encargará de eliminar la persona de la base de datos y la foto de la carpeta:

javascript

Copy code

function deletePerson() {

  // Obtener el ID de la persona a eliminar

  const id = document.getElementById('id').value;

 

  // Crear una solicitud de eliminación utilizando Fetch API

  fetch('eliminar.php', {

    method: 'POST',

    headers: {

      'Content-Type': 'application/json'

    },

    body: JSON.stringify({ id })

  })

  .then(response => response.json())

  .then(data => {

    // Si se eliminaron los datos correctamente, eliminar la foto de la carpeta

    if (data.status === 'success') {

      const photo = document.getElementById('photo').src.split('/').pop();

      fetch(`eliminar_foto.php?photo=${photo}`)

      .then(response => response.json())

      .then(data => {

        if (data.status === 'success') {

          // Mostrar un mensaje de éxito y recargar la página

          alert(data.message);

          window.location.reload();

        } else {

          alert(data.message);

        }

      })

      .catch(error => console.error(error));

    } else {

      alert(data.message);

    }

  })

  .catch(error => console.error(error));

}

En esta función, primero obtenemos el ID de la persona a eliminar mediante document.getElementById('id').value. Luego, creamos una solicitud de eliminación utilizando Fetch API. Si los datos se eliminaron correctamente, obtenemos el nombre de la foto de la persona mediante document.getElementById('photo').src.split('/').pop() (asumiendo que la ruta de la foto termina con el nombre de la foto) y creamos otra solicitud de eliminación para eliminar la foto de la carpeta. Finalmente, mostramos un mensaje de éxito y recargamos la página.

 

En tu archivo eliminar_foto.php, actualiza el código para recibir el nombre de la foto mediante el parámetro photo y eliminar la foto de la carpeta:

php

Copy code

<?php

 

$photo = $_GET['photo'];

 

if (unlink('ruta/a/la/carpeta/' . $photo)) {

  $response = array('status' => 'success', 'message' => 'Foto eliminada correctamente');

} else {

  $response = array('status' => 'error', 'message' => 'Error al eliminar la foto');

}

 

echo json_encode($response);

 

?>

En este código, utilizamos unlink() para eliminar la foto de la carpeta. Si la eliminación es exitosa, enviamos una respuesta JSON con status igual a 'success' y message igual a 'Foto eliminada correctamente'. De lo contrario, enviamos una respuesta con status igual a 'error' y message igual a 'Error al eliminar la foto'.

 

Ten en cuenta que debes reemplazar la cadena `'ruta/a/

 

 

 

 

jose fernandez

MUESTRAME SOLO EL CODIGO eliminar.php

Por supuesto, aquí tienes el código para eliminar.php que incluye la eliminación de la foto de la carpeta:

 

php

Copy code

<?php

 

// Verificar si se recibió un ID

if (isset($_POST['id'])) {

 

  // Conectar a la base de datos con PDO

  $dsn = 'mysql:host=localhost;dbname=nombre_de_la_base_de_datos';

  $usuario = 'nombre_de_usuario';

  $contraseña = 'contraseña_del_usuario';

  try {

    $conexion = new PDO($dsn, $usuario, $contraseña);

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

  } catch (PDOException $e) {

    echo 'Error al conectarse a la base de datos: ' . $e->getMessage();

    exit;

  }

 

  // Obtener el ID y el nombre completo de la persona a eliminar

  $id = $_POST['id'];

  $consulta = 'SELECT nombre, apellido, foto FROM personas WHERE id = :id';

  $sentencia = $conexion->prepare($consulta);

  $sentencia->bindParam(':id', $id, PDO::PARAM_INT);

  $sentencia->execute();

  $resultado = $sentencia->fetch(PDO::FETCH_ASSOC);

  $nombreCompleto = $resultado['nombre'] . ' ' . $resultado['apellido'];

  $foto = $resultado['foto'];

 

  // Eliminar la persona de la base de datos

  $consulta = 'DELETE FROM personas WHERE id = :id';

  $sentencia = $conexion->prepare($consulta);

  $sentencia->bindParam(':id', $id, PDO::PARAM_INT);

  $sentencia->execute();

 

  // Verificar si se eliminaron los datos correctamente

  if ($sentencia->rowCount() == 1) {

 

    // Eliminar la foto de la carpeta

    $rutaFoto = 'ruta/a/la/carpeta/' . $foto;

    if (unlink($rutaFoto)) {

 

      // Enviar una respuesta JSON con éxito

      $respuesta = array('status' => 'success', 'message' => "La persona $nombreCompleto y la foto fueron eliminadas correctamente");

      echo json_encode($respuesta);

 

    } else {

 

      // Enviar una respuesta JSON con error

      $respuesta = array('status' => 'error', 'message' => 'Error al eliminar la foto');

      echo json_encode($respuesta);

 

    }

 

  } else {

 

    // Enviar una respuesta JSON con error

    $respuesta = array('status' => 'error', 'message' => 'Error al eliminar los datos');

    echo json_encode($respuesta);

 

  }

 

} else {

 

  // Enviar una respuesta JSON con error

  $respuesta = array('status' => 'error', 'message' => 'No se recibió el ID');

  echo json_encode($respuesta);

 

}

 

?>

Este código incluye la eliminación de la persona de la base de datos y la eliminación de la foto de la carpeta. Si la eliminación es exitosa, se envía una respuesta JSON con status igual a 'success' y message con un mensaje de éxito que incluye el nombre completo de la persona eliminada. Si la eliminación falla, se envía una respuesta JSON con status igual a 'error' y message con un mensaje de error. Asegúrate de reemplazar la cadena 'ruta/a/la/carpeta/' con la ruta adecuada a la carpeta donde se guardan las fotos.

Comentarios

Entradas populares de este blog

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

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

DETECTAR DIRECCION IP CON PHP Y JS