File "registrosPermisos.php"

Full Path: C:/wamp64/www/porteria/colaboradores/registrosPermisos.php
File size: 8.51 KB
MIME-type: text/x-php
Charset: utf-8

<?php
include("../connection.php");
$con = connection();

$mostrarTabla = false;
$query = null;
$cedula = '';

// Verificar si se ha enviado una cédula para buscar
if(isset($_POST['buscar']) && !empty($_POST['cedula'])) {
    $cedula = $_POST['cedula'];
    $mostrarTabla = true;
    // Usar consulta preparada para evitar inyección SQL
    $sql = "SELECT * FROM permisos WHERE cedula=? ORDER BY id DESC";
    $stmt = $con->prepare($sql);
    $stmt->bind_param("s", $cedula);
    $stmt->execute();
    $query = $stmt->get_result();
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Consulta de permisos por cédula">
    <meta name="keywords" content="html, css, bases de datos, php">
    <meta name="author" content="Sebastian Obando">
    <meta name="copyright" content="Sebastian Obando">
    <meta name="google" content="notranslate"> <!-- Evita la traducción automática -->
    <title>Consulta permisos</title>
	<link rel="icon" type="image/png" href="../img/icono.png"><!-- Cambia el icono de los titulos en las pestañas ico 16X16 -->

    <!-- Carga de jQuery y DataTables -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.js"></script>
    <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.css">
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
        }
        .search-form {
            background-color: #f8f9fa;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        .search-form h3 {
            margin-top: 0;
            color: #333;
        }
        .form-group {
            margin-bottom: 15px;
        }
        .form-group label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
        }
        .form-group input[type="text"] {
            width: 100%;
            padding: 8px;
            border: 1px solid #ddd;
            border-radius: 4px;
            box-sizing: border-box;
            font-size: 16px;
        }
        .form-group input[type="submit"] {
            background-color: coral;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }
        .form-group input[type="submit"]:hover {
            background-color: coral;
        }
        .button-container {
            margin: 15px 0;
        }
        .button-container input[type="button"] {
            padding: 8px 15px;
            margin-right: 10px;
            cursor: pointer;
            background-color: coral;
            color: white;
            border: none;
            border-radius: 4px;
        }
        .button-container input[type="button"]:hover {
            background-color: coral;
        }
        .no-results {
            padding: 20px;
            background-color: #f8d7da;
            color: #721c24;
            border-radius: 5px;
            margin-top: 20px;
        }
        .info-message {
            padding: 20px;
            background-color: #d1ecf1;
            color: #0c5460;
            border-radius: 5px;
            margin-top: 20px;
        }
        .users-table {
            width: 100%;
            overflow-x: auto;
        }
        table.display {
            width: 100%;
            border-collapse: collapse;
        }
        table.display th, table.display td {
            padding: 8px;
            text-align: left;
            border: 1px solid #ddd;
        }
        table.display th {
            background-color: #f2f2f2;
        }
        .copyright {
            text-align: center;
            margin-top: 30px;
            color: #666;
            font-size: 14px;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2>Consulta de permisos por Cédula</h2>
        
        <div class="search-form">
            <h3>Buscar colaborador por cédula</h3>
            <form method="POST" action="">
                <div class="form-group">
                    <label for="cedula">Número de cédula:</label>
                    <input type="text" id="cedula" name="cedula" value="<?= htmlspecialchars($cedula) ?>" placeholder="Ingrese el número de cédula" required>
                </div>
                <div class="form-group">
                    <input type="submit" name="buscar" value="Buscar">
                </div>
            </form>
        </div>
        
        <div class="button-container">
            <input type="button" onclick="window.location.href='../index.php';" value="Menú">
            <input type="button" onclick="window.location.href='ExcelColaboradores.php';" value="Generar Excel">
        </div>
        
        <?php if($mostrarTabla): ?>
            <?php if($query && $query->num_rows > 0): ?>
                <div class="users-table">
                    <div style="overflow-x: auto;">
                        <table id="tablaPersonas" class="display">
                            <thead>
                                <tr>
                                    <th>ID</th>
                                    <th>Fecha</th>
									<th>hora</th>
                                    <th>Nombre</th>
                                    <th>Cedula</th>
									<th>Centro De Costos</th>
                                    <th>Arl</th>
                                    <th>EPS</th>
                                    <th>Telefono</th>
                                    <th>RH</th>
                                    <th>Motivo</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php while ($row = $query->fetch_assoc()): ?>
                                    <tr>
                                        <td><?= $row['id'] ?></td>
                                        <td><?= $row['fecha'] ?></td>
										<td><?= $row['hora'] ?></td>
                                        <td><?= $row['nombre'] ?></td>
                                        <td><?= $row['cedula'] ?></td>
										<td><?= $row['centro_costos'] ?></td>
                                        <td><?= $row['arl'] ?></td>
                                        <td><?= $row['eps'] ?></td>
                                        <td><?= $row['telefono'] ?></td>
                                        <td><?= $row['rh'] ?></td>
										<td><?= $row['motivo'] ?></td>
                                    </tr>
                                <?php endwhile; ?>
                            </tbody>
                        </table>
                    </div>
                </div>
            <?php else: ?>
                <div class="no-results">
                    <p>No se encontraron registros para la cédula: <strong><?= htmlspecialchars($cedula) ?></strong></p>
                </div>
            <?php endif; ?>
        <?php else: ?>
            <div class="info-message">
                <p>Ingrese un número de cédula para consultar los registros del colaborador.</p>
            </div>
        <?php endif; ?>
    </div>

    <!-- Script para inicializar DataTables solo si hay resultados -->
    <script>
        $(document).ready(function () {
            <?php if($mostrarTabla && $query && $query->num_rows > 0): ?>
            $('#tablaPersonas').DataTable({
                "paging": true,
                "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "Todos"]],
                "searching": true,
                "language": {
                    "url": "//cdn.datatables.net/plug-ins/1.11.5/i18n/Spanish.json"
                },
                "order": [[0, 'desc']], // Ordenar por la primera columna (ID) en orden descendente
                "autoWidth": false,
                "responsive": true
            });
            <?php endif; ?>
        });
    </script>
    
    <div class="copyright">
        &#169; 2025 Avicampo
    </div>
</body>
</html>