Mtro. Fernando Arciniega

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages

Agenda de citas médicas – 6 . Consultar Actualizar y Eliminar Citas

Agenda de citas médicas – 6 . Consultar Actualizar y Eliminar Citas

Siguiendo con el CRUD pero ahora para «Citas» agregaremos el menú de estas funciones, en la parte superior de nuestra función «registro_cita.php» como lo hicimos anteriormente a «pacientes» colocando en la línea 9, después de la etiqueta de body el siguiente código:

  <div class="menu-container">
        <div class="menu-category">
            <h2>Menú de Citas</h2>
            <a href="registro_cita.html">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                </br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                </br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                </br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                </br><span>Borrar</span>
            </a>
        </div>
    </div>

Queda la vista previa de la siguiente manera:

El código completo queda así:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Registro de Citas Médicas</title>
</head>
<body>
       <div class="menu-container">
        <div class="menu-category">
            <h2>Menú de Citas</h2>
            <a href="registro_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                </br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                </br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                </br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                </br><span>Borrar</span>
            </a>
        </div>
    </div>

    <h1>Registro de Cita Médica</h1>
    <form action="procesar_cita.php" method="post">
        <label for="paciente_id">ID del Paciente:</label>
        <input type="text" id="paciente_id" name="paciente_id">
        <br>
        <label for="fecha">Fecha:</label>
        <input type="date" id="fecha" name="fecha">
        <br>
        <label for="hora">Hora:</label>
        <input type="time" id="hora" name="hora">
        <br>
        <label for="nota">Nota:</label>
        <textarea id="nota" name="nota" rows="4" cols="50"></textarea>
        <br>
        <input type="submit" value="Registrar Cita">
    </form>
</body>
</html>

Hasta el momento también agregamos el pequeño menú a:

  • confirmacion_cita.php

Antes de continuar, confirma que el código de «menu.php» sea el siguiente:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Menú de Gestión</title>
</head>
<body>
    <h1>Menú de Gestión</h1>
    <div class="menu-container">
        <div class="menu-category">
            <h2>Pacientes</h2>
            <a href="registrar-paciente.php">
                <img src="imagen_registrar.png" alt="Registrar Paciente" width="128">
                </br><span>Registrar</span>
            </a>
            <a href="consultar_paciente.php">
                <img src="imagen_consultar.png" alt="Consultar Paciente" width="128">
                </br><span>Consultar</span>
            </a>
            <a href="actualizar_paciente.php">
                <img src="imagen_actualizar.png" alt="Actualizar Paciente" width="128">
                </br><span>Actualizar</span>
            </a>
            <a href="borrar_paciente.php">
                <img src="imagen_borrar.png" alt="Borrar Paciente" width="128">
                </br><span>Borrar</span>
            </a>
        </div>
        <div class="menu-category">
            <h2>Citas</h2>
            <a href="registro_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="128">
                </br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="128">
                </br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="128">
                </br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="128">
                </br><span>Borrar</span>
            </a>
        </div>
    </div>
</body>
</html>

Para crear una página para consultar citas médicas (consultar_cita.php) siguiendo una estructura similar a la página de consulta de pacientes, puedes utilizar el siguiente código:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Consultar Citas Médicas</title>
</head>
<body>
    <div class="menu-container">
        <div class="menu-category">
            <h2>Menú para Citas Médicas</h2>
            <a href="registro_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                </br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                </br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                </br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                </br><span>Borrar</span>
            </a>
        </div>
    </div>
    <h1>Consulta de Citas Médicas</h1>
    <div class="consulta-container">
        <?php
        // Conectar a la base de datos
        $conexion = mysqli_connect("localhost", "arci", "123", "citas_medicas");

        // Consultar la tabla de citas médicas
        $consulta = "SELECT citas.id, pacientes.nombre, pacientes.apellido, citas.fecha, citas.hora, citas.nota FROM citas INNER JOIN pacientes ON citas.paciente_id = pacientes.id";
        $result = mysqli_query($conexion, $consulta);

        if (mysqli_num_rows($result) > 0) {
            echo "<table class='citas-table'>";
            echo "<tr>";
            echo "<th>ID Cita</th>";
            echo "<th>Nombre Paciente</th>";
            echo "<th>Fecha</th>";
            echo "<th>Hora</th>";
            echo "<th>Nota</th>";
            echo "<th>Acciones</th>"; // Nueva columna para acciones
            echo "</tr>";

            while ($row = mysqli_fetch_assoc($result)) {
                echo "<tr>";
                echo "<td>{$row['id']}</td>";
                echo "<td>{$row['nombre']} {$row['apellido']}</td>";
                echo "<td>{$row['fecha']}</td>";
                echo "<td>{$row['hora']}</td>";
                echo "<td>{$row['nota']}</td>";
                echo "<td>";
                echo "<a href='actualizar_cita.php?id={$row['id']}'><img src='imagen_actualizar.png' alt='Actualizar' width='48'></a>";
                echo "<a href='borrar_cita.php?id={$row['id']}'><img src='imagen_borrar.png' alt='Borrar' width='48'></a>";
                echo "</td>";
                echo "</tr>";
            }

            echo "</table>";
        } else {
            echo "No hay citas médicas registradas en la base de datos.";
        }

        // Cerrar la conexión a la base de datos
        mysqli_close($conexion);
        ?>
    </div>
</body>
</html>

Agrega los siguientes estilos CSS a tu archivo:

/* Estilo para la tabla de consulta de citas médicas */
.citas-table {
    width: 95%;
    border-collapse: collapse;
    margin: 20px auto;
    box-shadow: 0px 0px 10px #AAAAAA;
    background-color: #FFFFFF;
}

.citas-table th, .citas-table td {
    border: 1px solid #AAAAAA;
    padding: 10px;
    text-align: left;
}

.citas-table th {
    background-color: #0070C0; /* Cambia el color de fondo de las cabeceras de la tabla */
    color: #FFFFFF;
}

.citas-table tr:nth-child(even) {
    background-color: #F5F5F5;
}

.citas-table tr:nth-child(odd) {
    background-color: #FFFFFF;
}

Actualizar Citas Médicas

Aquí tienes el código para actualizar_cita.php basado en el código que creamos anteriormente para Pacientes:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Actualizar Cita Médica</title>
</head>
<body>
    <div class="menu-container">
        <div class="menu-category">
            <h2>Menú para Citas Médicas</h2>
            <a href="registrar_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                <br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                <br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                <br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                <br><span>Borrar</span>
            </a>
        </div>
    </div>
    <h1>Actualizar Cita Médica</h1>
    <?php
    // Conectar a la base de datos
    $conexion = mysqli_connect("localhost", "arci", "123", "citas_medicas");

    // Consultar la lista de IDs de citas médicas
    $consulta_ids = "SELECT id FROM citas";
    $result_ids = mysqli_query($conexion, $consulta_ids);

    // Verificar si se proporciona un ID en la URL
    if (isset($_GET['id'])) {
        $id = $_GET['id'];

        // Consultar la información de la cita médica con el ID proporcionado
        $consulta = "SELECT paciente_id, fecha, hora, nota FROM citas WHERE id = $id";
        $result = mysqli_query($conexion, $consulta);

        if ($row = mysqli_fetch_assoc($result)) {
            // Mostrar el formulario con los datos de la cita médica
            echo "<form action='procesar_actualizar_cita.php' method='post'>";
            echo "<input type='hidden' name='id' value='$id'>";
            echo "<label for='paciente_id'>ID del Paciente:</label>";
            echo "<input type='text' id='paciente_id' name='paciente_id' value='{$row['paciente_id']}'>";
            echo "<br>";
            echo "<label for='fecha'>Fecha:</label>";
            echo "<input type='date' id='fecha' name='fecha' value='{$row['fecha']}'>";
            echo "<br>";
            echo "<label for='hora'>Hora:</label>";
            echo "<input type='time' id='hora' name='hora' value='{$row['hora']}'>";
            echo "<br>";
            echo "<label for='nota'>Nota:</label>";
            echo "<textarea id='nota' name='nota'>{$row['nota']}</textarea>";
            echo "<br>";
            echo "<input type='submit' value='Actualizar'>";
            echo "</form>";
        } else {
            echo "Cita médica no encontrada.";
        }
    } else {
        echo "<form action='actualizar_cita.php' method='get'>";
        echo "<label for='id'>Seleccione el ID de la cita médica:</label>";
        echo "<select id='id' name='id'>";
        while ($row = mysqli_fetch_assoc($result_ids)) {
            echo "<option value='{$row['id']}'>{$row['id']}</option>";
        }
        echo "</select>";
        echo "<input type='submit' value='Seleccionar'>";
        echo "</form>";
    }

    // Cerrar la conexión a la base de datos
    mysqli_close($conexion);
    ?>
</body>
</html>

Este código proporciona una estructura similar a la de la página de actualización de pacientes, pero adaptada para citas médicas. Asegúrate de ajustar los nombres de los campos y las consultas SQL según la estructura de tu base de datos de citas médicas.


Aquí tienes el código para procesar_actualizar_cita.php, basado en el código que creamos para los pacientes:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Procesar Actualización de Cita Médica</title>
</head>
<body>
    <div class="menu-container">
        <div class="menu-category">
            <h2>Menú para Citas Médicas</h2>
            <a href="registrar_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                <br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                <br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                <br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                <br><span>Borrar</span>
            </a>
        </div>
    </div>
    <?php
    // Verificar si se ha enviado el formulario
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $id = $_POST["id"];
        $paciente_id = $_POST["paciente_id"];
        $fecha = $_POST["fecha"];
        $hora = $_POST["hora"];
        $nota = $_POST["nota"];

        // Conectar a la base de datos
        $conexion = mysqli_connect("localhost", "arci", "123", "citas_medicas");

        // Actualizar los datos de la cita médica en la tabla citas
        $sql = "UPDATE citas SET paciente_id = '$paciente_id', fecha = '$fecha', hora = '$hora', nota = '$nota' WHERE id = $id";

        if (mysqli_query($conexion, $sql)) {
            echo "<div class='success-message'>Los datos de la cita médica se han actualizado correctamente.</div>";
        } else {
            echo "<div class='error-message'>Error al actualizar los datos de la cita médica: " . mysqli_error($conexion) . "</div>";
        }

        // Cerrar la conexión a la base de datos
        mysqli_close($conexion);
    } else {
        // Si se accede directamente a este archivo sin enviar el formulario, redirigir a la página de selección de citas médicas
        header("Location: actualizar_cita.php");
    }
    ?>
</body>
</html>

Borrar Citas Médicas

Aquí tienes el código para borrar_cita.php, basado en el código que creamos para los pacientes:

<!DOCTYPE html>
<html lang="es">
<head>
    <link rel="stylesheet" type="text/css" href="estilos.css">
    <meta charset="UTF-8">
    <title>Borrar Cita Médica</title>
</head>
<body>
    <div class="menu-container">
        <div class="menu-category">
            <h2>Menú para Citas Médicas</h2>
            <a href="registrar_cita.php">
                <img src="imagen_registrar.png" alt="Registrar Cita" width="40">
                <br><span>Registrar</span>
            </a>
            <a href="consultar_cita.php">
                <img src="imagen_consultar.png" alt="Consultar Cita" width="40">
                <br><span>Consultar</span>
            </a>
            <a href="actualizar_cita.php">
                <img src="imagen_actualizar.png" alt="Actualizar Cita" width="40">
                <br><span>Actualizar</span>
            </a>
            <a href="borrar_cita.php">
                <img src="imagen_borrar.png" alt="Borrar Cita" width="40">
                <br><span>Borrar</span>
            </a>
        </div>
    </div>
    <h1>Borrar Cita Médica</h1>
    <?php
    // Conectar a la base de datos
    $conexion = mysqli_connect("localhost", "arci", "123", "citas_medicas");

    // Consultar la lista de IDs de citas médicas
    $consulta_ids = "SELECT id FROM citas";
    $result_ids = mysqli_query($conexion, $consulta_ids);

    // Verificar si se proporciona un ID en la URL o se ha seleccionado uno desde la lista desplegable
    if (isset($_GET['id']) || isset($_POST['id'])) {
        // Verificar si se ha enviado el formulario para borrar la cita médica
        if ($_SERVER["REQUEST_METHOD"] == "POST") {
            $id = isset($_POST['id']) ? $_POST['id'] : $_GET['id'];

            // Realizar la eliminación de la cita médica
            $sql = "DELETE FROM citas WHERE id = $id";

            if (mysqli_query($conexion, $sql)) {
                echo "<div class='success-message'>La cita médica ha sido eliminada correctamente.</div>";
            } else {
                echo "<div class='error-message'>Error al eliminar la cita médica: " . mysqli_error($conexion) . "</div>";
            }
        } else {
            $id = isset($_POST['id']) ? $_POST['id'] : $_GET['id'];

            // Consultar la información de la cita médica con el ID proporcionado
            $consulta = "SELECT pacientes.nombre, pacientes.apellido, citas.fecha FROM citas INNER JOIN pacientes ON citas.paciente_id = pacientes.id WHERE citas.id = $id";
            $result = mysqli_query($conexion, $consulta);

            if ($row = mysqli_fetch_assoc($result)) {
                // Mostrar el formulario de confirmación
                echo "<p style='text-align: center;'>¿Seguro que desea borrar la cita médica de {$row['nombre']} {$row['apellido']} el {$row['fecha']}?</p>";
                echo "<form action='borrar_cita.php' method='post'>";
                echo "<input type='hidden' name='id' value='$id'>";
                echo "<div style='text-align: center;'><input type='submit' value='Confirmar Borrar'></div>";
                echo "</form>";
            } else {
                echo "Cita médica no encontrada.";
            }
        }
    } else {
        // Mostrar la lista desplegable para seleccionar la cita médica a borrar
        echo "<form action='borrar_cita.php' method='get'>";
        echo "<label for='id'>Seleccione el ID de la cita médica a borrar:</label>";
        echo "<select id='id' name='id'>";
        while ($row = mysqli_fetch_assoc($result_ids)) {
            // Consultar el nombre y fecha de la cita médica
            $id_cita = $row['id'];
            $consulta_info_cita = "SELECT pacientes.nombre, pacientes.apellido, citas.fecha FROM citas INNER JOIN pacientes ON citas.paciente_id = pacientes.id WHERE citas.id = $id_cita";
            $result_info_cita = mysqli_query($conexion, $consulta_info_cita);
            $info_cita = mysqli_fetch_assoc($result_info_cita);
            echo "<option value='$id_cita'>" . $id_cita . ' - ' . $info_cita['nombre'] . ' ' . $info_cita['apellido'] . ' - ' . $info_cita['fecha'] . "</option>";
        }
        echo "</select>";
        echo "<input type='submit' value='Seleccionar'>";
        echo "</form>";
    }

    // Cerrar la conexión a la base de datos
    mysqli_close($conexion);
    ?>
</body>
</html>

.

Este código permite borrar una cita médica y muestra un mensaje de éxito o error según el resultado de la eliminación. Asegúrate de ajustar los nombres de los campos y las consultas SQL según la estructura de tu base de datos de citas médicas.


Los códigos proporcionados para el CRUD (Crear, Leer, Actualizar y Borrar) de pacientes y citas médicas en el blog presentan las siguientes funciones:

Para el CRUD de Pacientes:

  1. Registrar Paciente (registrar-paciente.html): Permite a los usuarios ingresar información como nombre, apellido, email y teléfono de un paciente y lo almacena en la base de datos de pacientes.
  2. Consultar Paciente (consultar_paciente.php): Recupera la lista de pacientes almacenados en la base de datos y muestra sus detalles, incluyendo nombre, apellido, email y teléfono en una tabla. Los usuarios también pueden seleccionar un paciente para actualizar o borrar.
  3. Actualizar Paciente (actualizar_paciente.php): Proporciona un formulario que permite a los usuarios actualizar la información de un paciente seleccionado. Los campos de nombre, apellido, email y teléfono se llenan con los datos actuales del paciente, y al enviar el formulario, se actualizan los datos en la base de datos.
  4. Borrar Paciente (borrar_paciente.php): Ofrece la opción de seleccionar un paciente para borrar. Proporciona un formulario de confirmación para evitar eliminaciones accidentales.

Para el CRUD de Citas Médicas:

  1. Registrar Cita Médica (registro_cita.php): Permite a los usuarios registrar nuevas citas médicas. Los usuarios ingresan la fecha, hora, nota y seleccionan un paciente existente de la base de datos. Los datos se almacenan en la tabla de citas médicas.
  2. Consultar Cita Médica (consultar_cita.php): Recupera la lista de citas médicas almacenadas en la base de datos y muestra sus detalles, incluyendo el ID de la cita, nombre del paciente, fecha, hora y nota en una tabla. Además, proporciona opciones para actualizar o borrar citas médicas seleccionadas.
  3. Actualizar Cita Médica (actualizar_cita.php): Permite a los usuarios seleccionar una cita médica para actualizar. Proporciona un formulario para modificar la fecha, hora y nota de la cita seleccionada.
  4. Borrar Cita Médica (borrar_cita.php): Brinda la opción de seleccionar una cita médica para borrar. Proporciona un formulario de confirmación para evitar eliminaciones accidentales.

Estas funciones juntas forman un sistema de gestión de pacientes y citas médicas, lo que facilita el mantenimiento de registros y la interacción con la base de datos de pacientes y citas médicas. Este sistema puede ser útil para hospitales, clínicas o profesionales de la salud para administrar sus datos de pacientes y programar citas médicas de manera eficiente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *