Mtro. Fernando Arciniega

Apoyame con un clic en los anuncios, me ayudas a seguir generando contenido de calidad. ¡Gracias por tu apoyo!

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
Print Friendly, PDF & Email

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 *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.