Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads
<?php
require_once 'config.php';
include_once 'class/class.php';
//Haal hier alle informatie van de villas op
if (isset($_GET['id'])) {
$villa_id = $_GET['id'];
// Haal de villa-gegevens op voor de gegeven ID
$sql = "
SELECT villas.*, GROUP_CONCAT(locations.name SEPARATOR ', ') AS liggingen
FROM villas
LEFT JOIN villa_location ON villas.id = villa_location.villa_id
LEFT JOIN locations ON villa_location.location_id = locations.id
WHERE villas.id = :id
GROUP BY villas.id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => $villa_id]);
$villa = $stmt->fetch();
if (!$villa) {
echo "<p>Villa niet gevonden.</p>";
exit;
}
} else {
echo "<p>Geen villa ID opgegeven.</p>";
exit;
}
ob_end_clean();
require('fpdf/fpdf.php');
$pdf = new FPDF();
// Add a new page
// Add a new page
$pdf->AddPage();
// Set font for the title
$pdf->SetFont('Arial', 'B', 18);
// Title (centreren)
$pdf->Cell(0, 50, $villa['name'], 0, 1, 'C');
// Voeg wat ruimte tussen titel en foto's
$pdf->Ln(10);
// Set font for the images caption
$pdf->SetFont('Arial', 'I', 12);
// Toon hier de foto's van de villa
// Voeg wat ruimte tussen de foto's en de tekst
$pdf->Ln(10); // Dit zorgt voor wat ruimte onder de laatste afbeelding
// Als je meer ruimte tussen de afbeeldingen en de tekst wilt, gebruik dan SetY()
$pdf->SetY($pdf->GetY() + 10); // Verschuif de Y-positie naar beneden met 10mm
// Set font for the content text
$pdf->SetFont('Arial', '', 12);
// Zorg ervoor dat 'price' een numerieke waarde is
$price = isset($villa['price']) && is_numeric($villa['price']) ? $villa['price'] : 0;
// Locatie
$pdf->Cell(0, 10, ' Locatie: ' . $villa['location'], 0, 1);
// Prijs
$pdf->Cell(0, 10, 'Prijs: ' . number_format($price, 0, ',', '.'), 0, 1);
// Capaciteit
$pdf->Cell(0, 10, 'Capaciteit: ' . $villa['persons'] . ' personen', 0, 1);
// Beschrijving
$pdf->MultiCell(0, 10, $villa['description']);
// Liggingen
$pdf->Cell(0, 10, 'Liggingen: ' . $villa[6], 0, 1);
// Eigenschappen
$pdf->Cell(0, 10, 'Eigenschappen: ' . $villa[7], 0, 1);
// Voeg wat ruimte toe onderaan
$pdf->Ln(10);
$pdf->AddPage();
// $data = $villa;
// echo '<pre>';
// print_r($data);
// echo '</pre>';
$stmtImages = $pdo->prepare('SELECT image FROM villa_images WHERE villa_id = :villa_id');
$stmtImages->execute(['villa_id' => $villa['id']]);
$images = $stmtImages->fetchAll(PDO::FETCH_COLUMN);
// Zorg ervoor dat de afbeeldingen niet te groot zijn voor de pagina
$imgX = 10; // Start X-positie van de afbeelding
$imgY = $pdf->GetY(); // Huidige Y-positie op de pagina
$imgWidth = 80; // Breedte van de afbeelding
$maxWidth = 190; // Maximale breedte die beschikbaar is (om te zorgen dat de afbeeldingen niet buiten de pagina vallen)
$spaceBetweenImages = 10; // Ruimte tussen de afbeeldingen
foreach ($images as $image) {
// Voeg de afbeelding toe met een vaste breedte, hoogte wordt automatisch berekend
$pdf->Image('Images/' . $image, $imgX, $imgY, $imgWidth, 0);
// Werk de X-positie bij voor de volgende afbeelding
$imgX += $imgWidth + $spaceBetweenImages; // Verhoog X-positie voor de volgende afbeelding
// Als de X-positie de maximale breedte overschrijdt, zet de X-positie terug naar 10 en verhoog de Y-positie voor de volgende rij
if ($imgX + $imgWidth > $maxWidth) {
$imgX = 10; // Zet X-positie terug naar 10 (begin van de rij)
$imgY += $imgWidth + $spaceBetweenImages; // Verhoog de Y-positie om naar de volgende rij te gaan
}
// Controleer of de afbeelding te dicht bij de onderkant van de pagina komt en voeg een nieuwe pagina toe indien nodig
if ($imgY > 250) {
$pdf->AddPage();
$imgY = 10; // Reset de Y-positie na het toevoegen van een nieuwe pagina
$imgX = 10; // Zet de X-positie terug naar het begin van de pagina
}
}
// Output the PDF
$pdf->Output();
?>