5. Actualizar datos
Para poder actualizar datos en la base de datos tendremos que tener en cuenta dos cosas importantes:
- El envío se realizará a través del método PUT.
- Tendremos que enviar los datos que queremos actualizar en la URL, en concreto, en el body de la página, en formato json.
Actualizar datos
Para poder insertar datos en la base de datos tendremos que crear una función que reciba esos datos y los inserte. Para ello, seguiremos la misma estructura de función que en el caso anterior, pero esta vez utilizando el método POST:
Flight::route('PUT /clientes', function () {
});
Para enviar los datos tendremos que hacerlo con el siguiente formato json:
{
"id": 3,
"apellido": "Martinez",
"email": "ivan@martinez.es"
}
En este caso enviamos los datos del id del cliente a modificar y los datos que nos interese modificar, para poder crear la setencia sql que necesitamos:
Flight::route('PUT /clientes', function () {
$id = Flight::request()->data->id;
$apellido = Flight::request()->data->apellido;
$email = Flight::request()->data->email;
$sql ="UPDATE clientes set apellido=?, email? WHERE id=?";
//Preparamos la sentencia sql
$sentencia = Flight::db()->prepare($sql);
//Preparamos los datos obtenidos de la sentencia
$sentencia->bindParam(1, $apellido);
$sentencia->bindParam(2, $email);
$sentencia->bindParam(3, $id);
//Ejecutamos la sentencia INSERT
$sentencia->execute();
//Devolvememos en formato JSON parado una sentencia que nos indique que todo fue correctamente.
Flight::jsonp(["Cliente actualizado correctamente."]);
});