1. Tarih Aralığı Hesaplama


<?php
$start_date = new DateTime($_POST['start_date']);
$end_date = new DateTime($_POST['end_date']);
$days_diff = $start_date->diff($end_date)->days;
echo "Toplam Gün Sayısı: $days_diff";
?>

2. Yönetim Paneli için Veritabanı Tablosu


CREATE TABLE prices (    id INT AUTO_INCREMENT PRIMARY KEY,    date DATE NOT NULL,    price DECIMAL(10, 2) NOT NULL,    is_available BOOLEAN DEFAULT 1
);

3. Toplam Fiyat Hesaplama


<?php
// Veritabanı bağlantısı
$conn = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
// Tarihler
$start_date = $_POST['start_date'];
$end_date = $_POST['end_date'];
// Tarihler arasındaki fiyatları al
$query = $conn->prepare("    SELECT SUM(price) AS total_price    FROM prices    WHERE date BETWEEN :start_date AND :end_date      AND is_available = 1 ");
$query->execute([    'start_date' => $start_date,    'end_date' => $end_date
]);
$result = $query->fetch();
$total_price = $result['total_price'];
echo "Toplam Fiyat: $total_price";
?>

4. Kapalı Tarihlerin Kontrolü


<?php
$query = $conn->prepare("    SELECT COUNT(*) AS unavailable_days    FROM prices    WHERE date BETWEEN :start_date AND :end_date      AND is_available = 0 ");
$query->execute([    'start_date' => $start_date,    'end_date' => $end_date
]);
$result = $query->fetch();
if ($result['unavailable_days'] > 0) {    echo "Seçilen tarihlerde rezervasyon yapılamaz."; } else {    echo "Rezervasyon yapılabilir. Toplam Fiyat: $total_price"; }
?>