php tarih günleri kapatma açma fiyat .
2
●128
- 27-01-2025, 00:53:31
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"; } ?>