Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Identifica_Piku
/
Personal
:
fetch_dependents.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // Incluir el archivo de conexión include('../connection.php'); // Recuperar parámetros de la solicitud AJAX $ccosto = $_GET['ccosto'] ?? ''; $descripcion = $_GET['descripcion'] ?? ''; $search = isset($_GET['q']) ? $_GET['q'] : ''; $field = $_GET['field'] ?? ''; // 'descripcion' o 'cargo' $search_term = "%" . $search . "%"; $data = []; $sql = ""; $params = []; $types = ""; if ($field === 'descripcion' && !empty($ccosto)) { // 1. Obtener Descripciones únicas basadas en Centro de Costo $sql = "SELECT DISTINCT D_ccosto FROM ccosto WHERE Id_ccosto = ? AND D_ccosto LIKE ? ORDER BY D_ccosto ASC"; $params = [$ccosto, $search_term]; $types = "ss"; } elseif ($field === 'cargo' && !empty($ccosto) && !empty($descripcion)) { // 2. Obtener Cargos únicos basados en Centro de Costo Y Descripción $sql = "SELECT DISTINCT cargo FROM ccosto WHERE Id_ccosto = ? AND D_ccosto = ? AND cargo LIKE ? ORDER BY cargo ASC"; $params = [$ccosto, $descripcion, $search_term]; $types = "sss"; } if ($sql) { $stmt = $con->prepare($sql); // Bindear los parámetros dinámicamente $stmt->bind_param($types, ...$params); $stmt->execute(); $result = $stmt->get_result(); // Determinar la columna a devolver $column_name = ($field === 'descripcion') ? 'D_ccosto' : 'cargo'; while ($row = $result->fetch_assoc()) { $item_value = $row[$column_name]; // Formato requerido por Select2: id y text $data[] = [ 'id' => $item_value, // El valor real a enviar/almacenar 'text' => $item_value // Lo que se muestra al usuario ]; } $stmt->close(); } // Cerrar la conexión mysqli_close($con); // Devolver la respuesta en formato JSON header('Content-Type: application/json'); echo json_encode(['results' => $data]); ?>