query("SELECT COUNT(*) FROM models")->fetchColumn(); $filtered = $total; if ($where) { $stmt = $pdo->prepare("SELECT COUNT(*) FROM models $where"); $stmt->execute($params); $filtered = $stmt->fetchColumn(); } $sql = "SELECT id, name, version, model_size, layers FROM models $where ORDER BY id DESC LIMIT :start, :len"; $stmt = $pdo->prepare($sql); foreach ($params as $k => $v) { $stmt->bindValue($k, $v); } $stmt->bindValue(':start', $start, PDO::PARAM_INT); $stmt->bindValue(':len', $len, PDO::PARAM_INT); $stmt->execute(); $data = $stmt->fetchAll(PDO::FETCH_ASSOC); echo json_encode([ 'draw' => $draw, 'recordsTotal' => $total, 'recordsFiltered' => $filtered, 'data' => $data ]); } catch (Exception $e) { echo json_encode([ 'draw' => 0, 'recordsTotal' => 0, 'recordsFiltered' => 0, 'data' => [], 'error' => $e->getMessage() ]); }