il php

codice:
<?php
require_once('connessione.php');

header('Content-Type: application/json');

try {
$iddip = isset($_POST['iddip']) ? $_POST['iddip'] : 0;
$pagina = isset($_POST['pagina']) ? (int)$_POST['pagina'] : 1;
$badgePerPage = isset($_POST['badgePerPage']) ? (int)$_POST['badgePerPage'] : 5;
$offset = ($pagina - 1) * $badgePerPage;

$fetchdata = ['data' => []];
$total_nuovi_badge = 0;
$total_duplicati = 0;

// Query per ottenere nome e cognome del dipendente
$infoQuery = "SELECT cognome, nome FROM dipendente WHERE iddip = :iddip";
$infoStmt = $pdo->prepare($infoQuery);
$infoStmt->bindParam(':iddip', $iddip, PDO::PARAM_INT);
$infoStmt->execute();
$info = $infoStmt->fetch(PDO::FETCH_ASSOC);

// Query per i dettagli dei badge con paginazione
$detailQuery = "SELECT
                        badge.idbadge, 
                        badge.iddip, 
                        badge.nbadge, 
                        badge.nfc, 
DATE_FORMAT(badge.drichiesta,'%d/%m/%Y') AS richiesto, 
DATE_FORMAT(badge.drilascio,'%d/%m/%Y') AS rilascio, 
                        badge.causale, 
                        badge.rilascioper, 
                        badge.foto
FROM badge
WHERE badge.iddip = :iddip
ORDER BY badge.drilascio desc
LIMIT :limit OFFSET :offset";
$statement = $pdo->prepare($detailQuery);
$statement->bindParam(':iddip', $iddip, PDO::PARAM_INT);
$statement->bindParam(':limit', $badgePerPage, PDO::PARAM_INT);
$statement->bindParam(':offset', $offset, PDO::PARAM_INT);
$statement->execute();

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
$fetchdata['data'][] = $row;
    }

// Query per il conteggio totale dei badge per la paginazione
$totalQuery = "SELECTCOUNT(*) AS total FROM badge WHERE iddip = :iddip";
$totalStmt = $pdo->prepare($totalQuery);
$totalStmt->bindParam(':iddip', $iddip, PDO::PARAM_INT);
$totalStmt->execute();
$totalResult = $totalStmt->fetch(PDO::FETCH_ASSOC);
$totalRecords = $totalResult['total'];