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"; }
?>