• 22-01-2025, 07:23:30
    #1
    Merhaba php de giriş ve çıkış tarihi olan ornegin2 tarih secilecek ve aradaki günler toplanıp bir inputa yazılacak . tarihteki fiyatlar yonetim panelinden eklenecek ve bazı tarihler kapatılabilecek. yardımcı olabilecek var mı ? Ücretli
  • 22-01-2025, 10:31:16
    #2
    Pm den ulaşabilirsiniz
  • 27-01-2025, 00:53:31
    #3

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