getConnection(); // Verifica che l'iddatadb sia stato passato if (!isset($_GET['iddatadb']) || empty($_GET['iddatadb'])) { echo json_encode(['error' => 'ID riga non fornito']); exit; } $iddatadb = intval($_GET['iddatadb']); // Recupera i dettagli della riga (idriga e sample_code) $stmt = $pdo->prepare("SELECT iddatadb, sample_code FROM datadb WHERE iddatadb = ?"); $stmt->execute([$iddatadb]); $row = $stmt->fetch(PDO::FETCH_ASSOC); if (!$row) { echo json_encode(['error' => 'Riga non trovata']); exit; } $idriga = $row['iddatadb']; $sampleCode = $row['sample_code'] ?? 'Non disponibile'; // Recupera le foto associate alla riga $stmt = $pdo->prepare("SELECT id, file_path, file_name, description, uploaded_at FROM datadb_photos WHERE iddatadb = ? ORDER BY uploaded_at DESC"); $stmt->execute([$iddatadb]); $photos = $stmt->fetchAll(PDO::FETCH_ASSOC); // Definisci il percorso base per le foto $photoBasePath = '../photostrf/'; // Genera l'URL per il QR code $baseUrl = "http://localhost/trf_certest/public/userarea/"; // Sostituisci con il tuo dominio $uploadUrl = $baseUrl . "upload_photos_mobile.php?iddatadb=" . $iddatadb; // Genera il QR code con endroid/qr-code 6.0.6 $qrCodeDir = '../photostrf/qrcodes/'; if (!is_dir($qrCodeDir)) { mkdir($qrCodeDir, 0755, true); } $qrCodeFile = $qrCodeDir . "qrcode_{$iddatadb}.png"; $writer = new PngWriter(); // Crea il QR code usando il costruttore $qrCode = new QrCode( data: $uploadUrl, encoding: new Encoding('UTF-8'), errorCorrectionLevel: ErrorCorrectionLevel::Low, size: 150, margin: 10, roundBlockSizeMode: RoundBlockSizeMode::Margin, foregroundColor: new Color(0, 0, 0), backgroundColor: new Color(255, 255, 255) ); $result = $writer->write($qrCode); $result->saveToFile($qrCodeFile); ?>