From f82490f59d43eb72ce1699cc4ebda2c78a2e4c47 Mon Sep 17 00:00:00 2001 From: devfzn Date: Fri, 24 Mar 2023 18:32:35 -0300 Subject: [PATCH] edited: pacientes.class.php y pacientes.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pacientes.class.php: creados atributos paciente y función post pacientes.php: codición POST --- apirest_yt/clases/pacientes.class.php | 51 +++++++++++++++++++++++++++ apirest_yt/pacientes.php | 18 ++++++++-- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/apirest_yt/clases/pacientes.class.php b/apirest_yt/clases/pacientes.class.php index 308b13d..508c036 100644 --- a/apirest_yt/clases/pacientes.class.php +++ b/apirest_yt/clases/pacientes.class.php @@ -5,6 +5,16 @@ require_once 'clases/respuestas.class.php'; class pacientes extends conexion{ private $table = "pacientes"; + private $pacienteid = ""; + private $dni = ""; + private $nombre = ""; + private $direccion = ""; + private $codigo_postal = ""; + private $genero = ""; + private $telefono = ""; + private $fecha_nacimiento = "0000-00-00"; + private $correo = ""; + public function listaPacientes($pagina = 1){ // paginador @@ -25,6 +35,47 @@ class pacientes extends conexion{ $query = "SELECT * FROM " . $this->table . " WHERE PacienteId = '$id'"; return parent::obtenerDatos($query); } + + public function post($json){ + $_respuestas = new respuestas; + $datos = json_decode($json, true); + if (!isset($datos['nombre']) || !isset($datos['dni']) || !isset($datos['correo'])){ + return $_respuestas->error_400(); + } else { + $this->nombre = $datos['nombre']; + $this->dni = $datos['dni']; + $this->correo = $datos['correo']; + if (isset($datos['telefono'])){ $this->telefono = $datos['telefono']; } + if (isset($datos['direccion'])){ $this->direccion = $datos['direccion']; } + if (isset($datos['codigo_postal'])){ $this->codigo_postal = $datos['codigo_postal']; } + if (isset($datos['genero'])){ $this->genero = $datos['genero']; } + if (isset($datos['fecha_nacimiento'])){ $this->fecha_nacimiento = $datos['fecha_nacimiento']; } + $resp = $this->insertarPaciente(); + if ($resp){ + $respuesta = $_respuestas->response; + $respuesta['result'] = array( + 'pacienteid' => $resp + ); + return $respuesta; + } else { + return $_respuestas->error_500(); + } + } + } + + private function insertarPaciente(){ + $query = "INSERT INTO $this->table (DNI, Nombre, Direccion, CodigoPostal, + Telefono, Genero, FechaNacimiento, Correo) + values ('$this->dni','$this->nombre','$this->direccion', + '$this->codigo_postal','$this->telefono','$this->genero', + '$this->fecha_nacimiento','$this->correo')"; + $resp = parent::nonQueryId($query); + if ($resp){ + return $resp; + } else { + return 0; + } + } } ?> diff --git a/apirest_yt/pacientes.php b/apirest_yt/pacientes.php index 58b62eb..1638b54 100644 --- a/apirest_yt/pacientes.php +++ b/apirest_yt/pacientes.php @@ -5,20 +5,34 @@ require_once 'clases/pacientes.class.php'; $_respuestas = new respuestas; $_pacientes = new pacientes; -#header('Content-Type: text/plain; charset=utf-8'); header('Content-Type: application/json; charset=utf-8'); if ($_SERVER['REQUEST_METHOD'] == "GET"){ + if (isset($_GET["page"])){ $pagina = $_GET["page"]; $lista_pacientes = $_pacientes->listaPacientes($pagina); echo json_encode($lista_pacientes); + http_response_code(200); } else if (isset($_GET["id"])){ $pacienteid = $_GET["id"]; $datos_paciente = $_pacientes->obtenerPaciente($pacienteid); echo json_encode($datos_paciente); + http_response_code(200); } + } else if ($_SERVER['REQUEST_METHOD'] == "POST"){ - echo "hola POST"; + // recepción de datos + $postBody = file_get_contents("php://input"); + // envio de datos al manejador + $datosArray = $_pacientes->post($postBody); + // devolucion de respuesta + if(isset($datosArray["result"]["error_id"])){ + $responseCode = $datosArray["result"]["error_id"]; + http_response_code($responseCode); + }else{ + http_response_code(200); + } + echo json_encode($datosArray); } else if ($_SERVER['REQUEST_METHOD'] == "PUT"){ echo "hola PUT";