diff --git a/database/db.sql b/database/db.sql index 751db5a..4b1d648 100644 --- a/database/db.sql +++ b/database/db.sql @@ -27,14 +27,15 @@ CREATE TABLE IF NOT EXISTS rol( ); CREATE TABLE IF NOT EXISTS usuario( + id INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(50) NOT NULL, - usuario VARCHAR(50) PRIMARY KEY, + usuario VARCHAR(50) UNIQUE, contraseña VARCHAR(100) NOT NULL, rol INT NOT NULL, especialidad VARCHAR(50), correo VARCHAR(100) NOT NULL, fecha_alta TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - fecha_baja DATE, + fecha_baja TIMESTAMP NULL, FOREIGN KEY (rol) REFERENCES rol(codigo) ); diff --git a/src/database.php b/src/database.php index 8beb84c..993463e 100644 --- a/src/database.php +++ b/src/database.php @@ -12,22 +12,10 @@ function closeDatabase($pdo) { $pdo = null; } -function displayResults($query) { - foreach($query->fetch(PDO::FETCH_ASSOC) as $row){ - echo $row . "\n"; - } -} - function listRows($pdo, $table) { $query = "SELECT * FROM ?"; $result = $pdo->prepare($query)->execute([$table]); - displayResults($query); -} - -function findRows($pdo, string $table, string $attr, string $param) { - $query = "SELECT * FROM ? WHERE ? = ?"; - $result = $pdo->prepare($query)->execute([$table, $attr, $param]); - displayResults($query); + return $result; } function createPatient($pdo, $data) { @@ -81,14 +69,18 @@ function createUser($pdo, $data) { return "Usuario creado con éxito"; } -function editUser($pdo, $attr, $param, $id) { - $query = "UPDATE usuario SET ? = ? WHERE usuario = ?"; - $pdo->prepare($query)->execute([$attr, $param, $id]); +function editUser($pdo, $data, $id) { + $query = "UPDATE usuario SET nombre=?, usuario=?, contraseña=?, rol=?, correo=? WHERE id=?"; + $result = $pdo->prepare($query); + $result->execute([$data["nombre"], $data["usuario"], $data["contraseña"], $data["rol"], $data["correo"], $id]); + $result->debugDumpParams; return "Usuario modificado con éxito"; } -function deactivateUser($pdo, string $id) { - editUser($pdo, "fecha_baja", "CURRENT_TIMESTAMP", $id); +function deactivateUser($pdo, $data, $id) { + $query = "UPDATE usuario SET fecha_baja=now() WHERE id=?"; + $result = $pdo->prepare($query); + $result->execute([$id]); return "Usuario desactivado con éxito"; } @@ -96,18 +88,18 @@ function listAppointments($pdo, string $doctor) { findRows($pdo, "cita", "medico", $doctor); } - -function displayUsers($query) { - foreach($query->fetch(PDO::FETCH_ASSOC) as $row){ - echo $row["nombre"]; - } -} - function listUsers($pdo) { - $query = "SELECT usuario.nombre, usuario.usuario, rol.nombre, usuario.correo FROM usuario + $query = "SELECT usuario.nombre, usuario.usuario, rol.nombre, usuario.correo, usuario.id, fecha_baja FROM usuario INNER JOIN rol ON usuario.rol = rol.codigo"; $result = $pdo->query($query)->fetchAll(); return $result; } +function findUser($pdo, string $id) { + $query = "SELECT * FROM usuario WHERE id=?"; + $result = $pdo->prepare($query); + $result->execute([$id]); $data = $result->fetch(); + return $data; +} + ?> diff --git a/src/html/header-footer.html b/src/forms/header-footer.html similarity index 100% rename from src/html/header-footer.html rename to src/forms/header-footer.html diff --git a/src/html/user_create_form.html b/src/forms/user_create_form.html similarity index 95% rename from src/html/user_create_form.html rename to src/forms/user_create_form.html index 6149c8a..92533a6 100644 --- a/src/html/user_create_form.html +++ b/src/forms/user_create_form.html @@ -32,7 +32,7 @@
diff --git a/src/forms/user_edit_form.php b/src/forms/user_edit_form.php new file mode 100644 index 0000000..60a8b76 --- /dev/null +++ b/src/forms/user_edit_form.php @@ -0,0 +1,45 @@ +
+ + +
+ + + + +
diff --git a/src/user.php b/src/user.php index 6ad354a..7920e9b 100644 --- a/src/user.php +++ b/src/user.php @@ -25,6 +25,7 @@ $pdo = connectDatabase("practica", "practica", "practica"); $list = listUsers($pdo); foreach($list as $row) : + if(!$row[5]): ?>
+ +