0) { return date('d/m/Y H:i:s', $timestamp); } return $fecha_oracle; } // Manejo de b煤squeda $busqueda = isset($_GET['busqueda']) ? trim($_GET['busqueda']) : ''; // Manejo de paginaci贸n $limite = 10; $pagina = isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1; $offset = ($pagina - 1) * $limite; // Construir condiciones con binds $binds = []; $whereConditions = [ "s.estado = 'realizada'", "s.fecha_respuesta >= SYSDATE - 30", "s.tipo_solicitud NOT IN ('VALIDACION_PERSONAL', 'REPORTE_ACCIDENTE', 'CAMBIO_INFORMACION', 'PLATAFORMA')" ]; if (!empty($busqueda)) { $busquedaTerm = '%' . $busqueda . '%'; $whereConditions[] = "(s.codigo_ticket LIKE :busq1 OR s.nombre_sitio LIKE :busq2 OR s.id_sitio LIKE :busq3)"; $binds[':busq1'] = $busquedaTerm; $binds[':busq2'] = $busquedaTerm; $binds[':busq3'] = $busquedaTerm; } $whereClause = implode(' AND ', $whereConditions); // --- CONTAR TOTAL DE RESULTADOS --- $sqlCount = "SELECT COUNT(*) AS TOTAL FROM solicitudes s JOIN usuarios u ON u.id = s.usuario_id WHERE $whereClause"; $rowsCount = db_select_to_array($sqlCount, $binds); $totalResultado = isset($rowsCount[0]['TOTAL']) ? (int)$rowsCount[0]['TOTAL'] : 0; $totalPaginas = ceil($totalResultado / $limite); // --- OBTENER SOLICITUDES CON PAGINACI脫N --- $sql = "SELECT * FROM ( SELECT a.*, ROWNUM as rnum FROM ( SELECT s.*, u.nombre AS nombre_usuario, TO_CHAR(s.fecha_respuesta, 'DD/MM/YYYY HH24:MI:SS') AS fecha_respuesta_fmt, TO_CHAR(s.fecha_creacion, 'DD/MM/YYYY HH24:MI:SS') AS fecha_creacion_fmt FROM solicitudes s JOIN usuarios u ON u.id = s.usuario_id WHERE $whereClause ORDER BY TO_NUMBER(s.codigo_ticket) DESC, s.fecha_respuesta DESC ) a ) WHERE rnum > :offset AND rnum <= :offset + :limit"; $binds[':offset'] = $offset; $binds[':limit'] = $limite; $rows = db_select_to_array($sql, $binds); $resultado = $rows; ?> Solicitudes Realizadas
Netgo Logo 馃彔 Men煤 Principal

Solicitudes Realizadas

Seleccionar Ticket Usuario Gerencia Nombre del Sitio ID del Sitio Tipo de Solicitud Fecha Respuesta