Implement update and delete user
This commit is contained in:
parent
219f440b26
commit
e6b26d963b
|
@ -27,14 +27,15 @@ CREATE TABLE IF NOT EXISTS rol(
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS usuario(
|
CREATE TABLE IF NOT EXISTS usuario(
|
||||||
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
nombre VARCHAR(50) NOT NULL,
|
nombre VARCHAR(50) NOT NULL,
|
||||||
usuario VARCHAR(50) PRIMARY KEY,
|
usuario VARCHAR(50) UNIQUE,
|
||||||
contraseña VARCHAR(100) NOT NULL,
|
contraseña VARCHAR(100) NOT NULL,
|
||||||
rol INT NOT NULL,
|
rol INT NOT NULL,
|
||||||
especialidad VARCHAR(50),
|
especialidad VARCHAR(50),
|
||||||
correo VARCHAR(100) NOT NULL,
|
correo VARCHAR(100) NOT NULL,
|
||||||
fecha_alta TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
fecha_alta TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||||
fecha_baja DATE,
|
fecha_baja TIMESTAMP NULL,
|
||||||
FOREIGN KEY (rol)
|
FOREIGN KEY (rol)
|
||||||
REFERENCES rol(codigo)
|
REFERENCES rol(codigo)
|
||||||
);
|
);
|
||||||
|
|
|
@ -12,22 +12,10 @@ function closeDatabase($pdo) {
|
||||||
$pdo = null;
|
$pdo = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayResults($query) {
|
|
||||||
foreach($query->fetch(PDO::FETCH_ASSOC) as $row){
|
|
||||||
echo $row . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function listRows($pdo, $table) {
|
function listRows($pdo, $table) {
|
||||||
$query = "SELECT * FROM ?";
|
$query = "SELECT * FROM ?";
|
||||||
$result = $pdo->prepare($query)->execute([$table]);
|
$result = $pdo->prepare($query)->execute([$table]);
|
||||||
displayResults($query);
|
return $result;
|
||||||
}
|
|
||||||
|
|
||||||
function findRows($pdo, string $table, string $attr, string $param) {
|
|
||||||
$query = "SELECT * FROM ? WHERE ? = ?";
|
|
||||||
$result = $pdo->prepare($query)->execute([$table, $attr, $param]);
|
|
||||||
displayResults($query);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function createPatient($pdo, $data) {
|
function createPatient($pdo, $data) {
|
||||||
|
@ -81,14 +69,18 @@ function createUser($pdo, $data) {
|
||||||
return "Usuario creado con éxito";
|
return "Usuario creado con éxito";
|
||||||
}
|
}
|
||||||
|
|
||||||
function editUser($pdo, $attr, $param, $id) {
|
function editUser($pdo, $data, $id) {
|
||||||
$query = "UPDATE usuario SET ? = ? WHERE usuario = ?";
|
$query = "UPDATE usuario SET nombre=?, usuario=?, contraseña=?, rol=?, correo=? WHERE id=?";
|
||||||
$pdo->prepare($query)->execute([$attr, $param, $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";
|
return "Usuario modificado con éxito";
|
||||||
}
|
}
|
||||||
|
|
||||||
function deactivateUser($pdo, string $id) {
|
function deactivateUser($pdo, $data, $id) {
|
||||||
editUser($pdo, "fecha_baja", "CURRENT_TIMESTAMP", $id);
|
$query = "UPDATE usuario SET fecha_baja=now() WHERE id=?";
|
||||||
|
$result = $pdo->prepare($query);
|
||||||
|
$result->execute([$id]);
|
||||||
return "Usuario desactivado con éxito";
|
return "Usuario desactivado con éxito";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,18 +88,18 @@ function listAppointments($pdo, string $doctor) {
|
||||||
findRows($pdo, "cita", "medico", $doctor);
|
findRows($pdo, "cita", "medico", $doctor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function displayUsers($query) {
|
|
||||||
foreach($query->fetch(PDO::FETCH_ASSOC) as $row){
|
|
||||||
echo $row["nombre"];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function listUsers($pdo) {
|
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";
|
INNER JOIN rol ON usuario.rol = rol.codigo";
|
||||||
$result = $pdo->query($query)->fetchAll();
|
$result = $pdo->query($query)->fetchAll();
|
||||||
return $result;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<input type="text" name="correo" value="">
|
<input type="text" name="correo" value="">
|
||||||
</div>
|
</div>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<button class="btn" type="submit" name="submit" >Guardar</button>
|
<button class="btn" type="submit" name="create" >Guardar</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
|
@ -0,0 +1,45 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||||
|
<title>Gestión de usuarios</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>
|
||||||
|
<?php
|
||||||
|
include '../database.php';
|
||||||
|
|
||||||
|
$pdo = connectDatabase("practica", "practica", "practica");
|
||||||
|
$data = findUser($pdo, $_GET["edit"]);
|
||||||
|
?> <form method="post" action="../user_management.php">
|
||||||
|
<div class="input-group">
|
||||||
|
<label>Nombre</label>
|
||||||
|
<input type="text" name="nombre" value="<?php echo $data[1]; ?>">
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<label>usuario</label>
|
||||||
|
<input type="text" name="usuario" value="<?php echo $data[2]; ?>">
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<label>contraseña</label>
|
||||||
|
<input type="password" name="contraseña" value="">
|
||||||
|
</div>
|
||||||
|
<div class="select-input">
|
||||||
|
<label>rol</label>
|
||||||
|
<select id="rol" name="rol">
|
||||||
|
<option value="1">administrativo</option>
|
||||||
|
<option value="2">médico</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<label>correo</label>
|
||||||
|
<input type="text" name="correo" value="<?php echo $data[6]; ?>">
|
||||||
|
</div>
|
||||||
|
<div class="input-group">
|
||||||
|
<button class="btn" type="submit" name="edit" >Editar</button>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="id" value="<?php echo $_GET["edit"]; ?>">
|
||||||
|
</form>
|
||||||
|
<?php closeDatabase($pdo); ?>
|
||||||
|
</body>
|
|
@ -25,6 +25,7 @@
|
||||||
$pdo = connectDatabase("practica", "practica", "practica");
|
$pdo = connectDatabase("practica", "practica", "practica");
|
||||||
$list = listUsers($pdo);
|
$list = listUsers($pdo);
|
||||||
foreach($list as $row) :
|
foreach($list as $row) :
|
||||||
|
if(!$row[5]):
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo $row[0]; ?></td>
|
<td><?php echo $row[0]; ?></td>
|
||||||
|
@ -32,16 +33,18 @@
|
||||||
<td><?php echo $row[2]; ?></td>
|
<td><?php echo $row[2]; ?></td>
|
||||||
<td><?php echo $row[3]; ?></td>
|
<td><?php echo $row[3]; ?></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="html/user_create_form.html?edit=" class="edit_btn">Editar</a>
|
<a href="forms/user_edit_form.php?edit=<?php echo $row[4]; ?>" class="edit_btn">Editar</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="html/user_create_form.html?delete=" class="del_btn">Borrar</a>
|
<a href="user_management.php?delete=<?php echo $row[4]; ?>" class="del_btn">Borrar</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<?php endif ?>
|
||||||
<?php endforeach ?>
|
<?php endforeach ?>
|
||||||
|
<?php closeDatabase($pdo); ?>
|
||||||
</table>
|
</table>
|
||||||
<div style="text-align: right;">
|
<div style="text-align: right;">
|
||||||
<a href="html/user_create_form.html" class="create_btn" >Crear</a>
|
<a href="forms/user_create_form.html" class="create_btn" >Crear</a>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -4,33 +4,38 @@ include'database.php';
|
||||||
function userCreation(){
|
function userCreation(){
|
||||||
$data = $_POST;
|
$data = $_POST;
|
||||||
$pdo = connectDatabase("practica", "practica", "practica");
|
$pdo = connectDatabase("practica", "practica", "practica");
|
||||||
$message = createUser($pdo, $data);
|
createUser($pdo, $data);
|
||||||
closeDatabase($pdo);
|
closeDatabase($pdo);
|
||||||
header('location: user.php');
|
header('location: user.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
function userModification(){
|
function userModification(){
|
||||||
$id = $_GET["edit"];
|
$data = $_POST;
|
||||||
|
$id = $_POST["id"];
|
||||||
$pdo = connectDatabase("practica", "practica", "practica");
|
$pdo = connectDatabase("practica", "practica", "practica");
|
||||||
|
editUser($pdo, $data, $id);
|
||||||
|
closeDatabase($pdo);
|
||||||
header('location: user.php');
|
header('location: user.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
function userDeletion(){
|
function userDeletion(){
|
||||||
$id = $_GET["delete"];
|
$id = $_GET["delete"];
|
||||||
$pdo = connectDatabase("practica", "practica", "practica");
|
$pdo = connectDatabase("practica", "practica", "practica");
|
||||||
|
deactivateUser($pdo, $data, $id);
|
||||||
|
closeDatabase($pdo);
|
||||||
header('location: user.php');
|
header('location: user.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($_POST['submit'])) {
|
if (isset($_POST["create"])) {
|
||||||
userCreation();
|
userCreation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (isset($_GET['edit'])) {
|
if (isset($_POST["edit"])) {
|
||||||
userModification();
|
userModification();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['delete'])) {
|
if (isset($_GET["delete"])) {
|
||||||
userDeletion();
|
userDeletion();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue