Implement report CRUD functionalities
This commit is contained in:
parent
0127b3014f
commit
cfdf2e8ebc
|
@ -107,5 +107,5 @@ CREATE TABLE IF NOT EXISTS informe(
|
|||
INSERT INTO rol (codigo, nombre) VALUES (1, "administrativo");
|
||||
INSERT INTO rol (codigo, nombre) VALUES (2, "medico");
|
||||
|
||||
INSERT INTO usuario (nombre, usuario, contraseña, rol) VALUES ("Sysadmin", "Admin", "admin", "chimba",1);
|
||||
INSERT INTO usuario (nombre, usuario, contraseña, rol) VALUES ("Nabil", "nabil", "menisco", 2);
|
||||
INSERT INTO usuario (nombre, usuario, contraseña, correo, rol) VALUES ("Sysadmin", "Admin", "chimba", "admin@example.com", 1);
|
||||
INSERT INTO usuario (nombre, usuario, contraseña, correo, rol) VALUES ("Nabil", "nabil", "menisco","doctor@example.com", 2);
|
||||
|
|
|
@ -195,4 +195,52 @@ function fetchHolidayData($pdo, string $id) {
|
|||
return $data;
|
||||
}
|
||||
|
||||
function listReports($pdo){
|
||||
$query = "SELECT informe.id, informe.titulo, informe.fecha, informe.hora, paciente.apellido,
|
||||
usuario.nombre FROM informe INNER JOIN paciente ON paciente.id = informe.paciente
|
||||
INNER JOIN usuario ON usuario.id = informe.medico";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute();
|
||||
$data = $result->fetchAll();
|
||||
return $data;
|
||||
}
|
||||
|
||||
function createReport($pdo, $data) {
|
||||
$query = "INSERT INTO informe
|
||||
(fecha, hora, paciente, titulo, contenido, medico)
|
||||
VALUES (?,?,?,?,?,?)";
|
||||
$pdo->prepare($query)->execute([$data["fecha"], $data["hora"], $data["paciente"],
|
||||
$data["titulo"], $data["contenido"], $data["medico"]]);
|
||||
return "Informe creado con éxito";
|
||||
}
|
||||
|
||||
function editReport($pdo, $data, $id){
|
||||
$query = "UPDATE informe SET fecha=?, hora=?, paciente=?, titulo=?, contenido=?, medico=? WHERE id=?";
|
||||
$pdo->prepare($query)->execute([$data["fecha"], $data["hora"], $data["paciente"],
|
||||
$data["titulo"], $data["contenido"], $data["medico"], $id]);
|
||||
return "Informe modificado con éxito";
|
||||
}
|
||||
|
||||
function deleteReport($pdo, $id) {
|
||||
$statement = "DELETE FROM informe where id=?";
|
||||
$pdo->prepare($statement)->execute([$id]);
|
||||
return "Informe borrado con éxito";
|
||||
}
|
||||
|
||||
function fetchPatients($pdo){
|
||||
$query = "SELECT id, apellido from paciente";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute();
|
||||
$data = $result->fetchAll();
|
||||
return $data;
|
||||
}
|
||||
|
||||
function fetchReportData($pdo, string $id) {
|
||||
$query = "SELECT * FROM informe WHERE id=?";
|
||||
$result = $pdo->prepare($query);
|
||||
$result->execute([$id]);
|
||||
$data = $result->fetch();
|
||||
return $data;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
<!doctype html>
|
||||
<html class="no-js" lang="es">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<title>Gestión de informes</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="../static/style.css" type="text/css" media="screen" />
|
||||
</head>
|
||||
<body>
|
||||
<div style="text-align: right; margin-top: 20px;">
|
||||
<a href="forms/report_create_form.php" class="create_btn" >Crear</a>
|
||||
</div>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Titulo</th>
|
||||
<th>Fecha</th>
|
||||
<th>Hora</th>
|
||||
<th>Paciente</th>
|
||||
<th>Médico</th>
|
||||
<th colspan="2">Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
include 'database.php';
|
||||
|
||||
$pdo = connectDatabase();
|
||||
|
||||
$list = listReports($pdo);
|
||||
|
||||
foreach($list as $row) :
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $row[1]; ?></td>
|
||||
<td><?php echo $row[2]; ?></td>
|
||||
<td><?php echo $row[3]; ?></td>
|
||||
<td><?php echo $row[4]; ?></td>
|
||||
<td><?php echo $row[5]; ?></td>
|
||||
<td>
|
||||
<a href="forms/report_edit_form.php?edit=<?php echo $row[0]; ?>" class="edit_btn">Editar</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="report_management.php?delete=<?php echo $row[0]; ?>" class="del_btn">Borrar</a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
<?php closeDatabase($pdo); ?>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
include'database.php';
|
||||
|
||||
function reportCreation(){
|
||||
$data = $_POST;
|
||||
$pdo = connectDatabase();
|
||||
createReport($pdo, $data);
|
||||
closeDatabase($pdo);
|
||||
header('location: report.php');
|
||||
}
|
||||
|
||||
function reportModification(){
|
||||
$data = $_POST;
|
||||
$id = $_POST["id"];
|
||||
$pdo = connectDatabase();
|
||||
editReport($pdo, $data, $id);
|
||||
closeDatabase($pdo);
|
||||
header('location: report.php');
|
||||
}
|
||||
|
||||
function reportDeletion(){
|
||||
$id = $_GET["delete"];
|
||||
$pdo = connectDatabase();
|
||||
deleteReport($pdo, $id);
|
||||
closeDatabase($pdo);
|
||||
header('location: report.php');
|
||||
}
|
||||
|
||||
if (isset($_POST["create"])) {
|
||||
reportCreation();
|
||||
}
|
||||
|
||||
|
||||
if (isset($_POST["edit"])) {
|
||||
reportModification();
|
||||
}
|
||||
|
||||
if (isset($_GET["delete"])) {
|
||||
reportDeletion();
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
function validateString(input){
|
||||
if(input == ""){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function validateReport(){
|
||||
var title = document.forms["create_form"]["titulo"];
|
||||
var content = document.forms["create_form"]["contenido"];
|
||||
|
||||
if(!validateString(title.value)){
|
||||
alert("Introduce el título");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!validateString(content.value)){
|
||||
alert("Introduce el contenido");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
Loading…
Reference in New Issue