File "fetch_data.php"
Full Path: C:/wamp64/www/PERSONAL/Personal/Areas/fetch_data.php
File size: 2.32 KB
MIME-type: text/x-php
Charset: utf-8
<?php
ini_set('display_errors', 0);
error_reporting(E_ALL);
include("../../connection.php");
$conn = $con;
if (!isset($conn) || !($conn instanceof mysqli)) {
http_response_code(500);
echo json_encode([
"draw" => intval($_REQUEST['draw'] ?? 0),
"recordsTotal" => 0, "recordsFiltered" => 0, "data" => [],
"error" => "Conexión a la base de datos no establecida"
]);
exit();
}
$request = $_REQUEST;
// Total de registros sin filtro
$totalData = mysqli_num_rows(mysqli_query($conn, "SELECT * FROM area"));
$sql = "SELECT * FROM area WHERE 1=1";
// Búsqueda
if (!empty($request['search']['value'])) {
$search_value = mysqli_real_escape_string($conn, $request['search']['value']);
$sql .= " AND area LIKE '%" . $search_value . "%'";
}
$filtered_query = mysqli_query($conn, $sql);
$totalFilter = mysqli_num_rows($filtered_query);
// Ordenamiento
$order_dir = in_array(strtoupper($request['order'][0]['dir'] ?? 'ASC'), ['ASC', 'DESC'])
? $request['order'][0]['dir'] : 'ASC';
$sql .= " ORDER BY area " . $order_dir;
// Paginación
$start = isset($request['start']) ? intval($request['start']) : 0;
$length = isset($request['length']) ? intval($request['length']) : 10;
$sql .= " LIMIT " . $start . ", " . $length;
$query = mysqli_query($conn, $sql);
if (!$query) {
http_response_code(500);
echo json_encode([
"draw" => intval($request['draw'] ?? 0),
"recordsTotal" => 0, "recordsFiltered" => 0, "data" => [],
"error" => "Error en consulta: " . mysqli_error($conn)
]);
exit();
}
$data = [];
while ($row = mysqli_fetch_assoc($query)) {
$data[] = [
$row['id'], // col 0 – id (oculto, para data-id)
htmlspecialchars($row['area']), // col 1 – Área visible
// col 2 – Botones
'<a href="javascript:void(0);" class="btn btn-sm btn-info p-2 m-1 editBtn" data-id="' . $row['id'] . '">Editar</a> '
. '<a href="javascript:void(0);" class="btn btn-sm btn-danger p-2 m-1 btnDelete" data-id="' . $row['id'] . '">Eliminar</a>'
];
}
echo json_encode([
"draw" => intval($request['draw']),
"recordsTotal" => intval($totalData),
"recordsFiltered" => intval($totalFilter),
"data" => $data
]);
?>