Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
require_once 'config.php';
include_once 'class/class.php';
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
echo "<p>Geen geldige villa ID opgegeven.</p>";
exit;
}
$villa_id = intval($_GET['id']); // Zorg ervoor dat het een integer is
// Haal de villa-gegevens op voor de gegeven ID
$sql = 'SELECT
v.id,
v.name AS villa_name,
v.price,
v.persons,
v.description AS villa_description,
GROUP_CONCAT(DISTINCT l.name) AS location_names,
GROUP_CONCAT(DISTINCT e.name) AS feature_names
FROM villas v
LEFT JOIN villa_has_locations vl ON v.id = vl.villa_id
LEFT JOIN locations l ON vl.location_id = l.id
LEFT JOIN villa_has_eigenschappen ve ON v.id = ve.villa_id
LEFT JOIN eigenschappen e ON ve.eigenschappen_id = e.id
WHERE v.id = :villa_id
GROUP BY v.id';
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':villa_id', $villa_id, PDO::PARAM_INT);
$stmt->execute();
$villa = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$villa) {
echo "<p>Villa niet gevonden.</p>";
exit;
}
// Haal afbeeldingen op
$stmtImages = $pdo->prepare('SELECT image_path FROM villa_images WHERE villa_id = :villa_id');
$stmtImages->bindParam(':villa_id', $villa_id, PDO::PARAM_INT);
$stmtImages->execute();
$images = $stmtImages->fetchAll(PDO::FETCH_COLUMN);
// Genereer PDF
require('fpdf/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
// Titel
$pdf->SetFont('Arial', 'B', 18);
$pdf->Cell(0, 10, utf8_decode($villa['villa_name']), 0, 1, 'C');
// Ruimte
$pdf->Ln(10);
// Informatie
$pdf->SetFont('Arial', '', 12);
$price = isset($villa['price']) && is_numeric($villa['price']) ? number_format($villa['price'], 0, ',', '.') : 'N/A';
$pdf->Cell(0, 10, 'Prijs: ' . $price, 0, 1);
$pdf->Cell(0, 10, 'Capaciteit: ' . $villa['persons'] . ' personen', 0, 1);
$pdf->MultiCell(0, 10, 'Beschrijving: ' . utf8_decode($villa['villa_description']));
$pdf->Cell(0, 10, 'Liggingen: ' . utf8_decode($villa['location_names']), 0, 1);
$pdf->Cell(0, 10, 'Eigenschappen: ' . utf8_decode($villa['feature_names']), 0, 1);
// Afbeeldingen
$pdf->Ln(10);
$imgX = 10;
$imgY = $pdf->GetY();
$imgWidth = 80; // Breedte van afbeelding
$imgMaxWidth = 190; // Maximale pagina breedte
$spaceBetweenImages = 10;
foreach ($images as $image) {
$filePath = $image;
if (file_exists($filePath)) {
$pdf->Image($filePath, $imgX, $imgY, $imgWidth, 0);
$imgX += $imgWidth + $spaceBetweenImages;
if ($imgX + $imgWidth > $imgMaxWidth) {
$imgX = 10;
$imgY += $imgWidth + $spaceBetweenImages;
}
if ($imgY > 250) {
$pdf->AddPage();
$imgX = 10;
$imgY = 10;
}
}
}
// echo '<pre>';
// var_dump($image);
// echo '</pre>';
// Output de PDF
$pdf->Output();
?>