• 08-10-2025, 08:35:19
    #1
    Tarih saat filtrelemesi takvimde her zaman bugünün tarihi başlangıç yapsın ve bana filtre yaparken tarihte tarihe hep eksik veya yanlış gösteriyor size kodları gönderecem benim beynim yandı galiba yanlış varsada göremiyorum fotoğraf tarih filtreleri böyle kodları da ekleyecem şimdi

    Bu dosya ayrı kod

    <?php
    session_start();
    if (isset($_SESSION['id'])) {
    include('../config.php');
    include('hdr3.php');
    date_default_timezone_set("Asia/Istanbul");
    error_reporting(E_ALL); // Enable error reporting
    ini_set('display_errors', 1); // Display errors on the page
    $agt = $db->prepare("SELECT * FROM acenteler where id=?");
    $agt->execute(array($_SESSION["agt"]));
    $agtm = $agt->fetch(PDO::FETCH_ASSOC);
    $agtms = $agt->rowCount();

    $yonler = $db->prepare("select * from sec_yon");
    $yonler->execute(array());
    $yonlerm = $yonler->fetchAll(PDO::FETCH_ASSOC);
    $yonlerms = $yonler->rowCount();

    $tipler = $db->prepare("select * from sec_tip");
    $tipler->execute(array());
    $tiplerm = $tipler->fetchAll(PDO::FETCH_ASSOC);
    $tiplerms = $tipler->rowCount();

    $ilceler = $db->prepare("select * from ilceler");
    $ilceler->execute(array());
    $ilcelerm = $ilceler->fetchAll(PDO::FETCH_ASSOC);
    $ilcelerms = $ilceler->rowCount();
    ?>
    <!DOCTYPE html>
    <html lang="tr">
    <?php include('head/New-Reservation-Form.php'); ?>
    <body class="saqally">
    <div id="wrapper">
    <?php hdr('Detayli Arama'); ?>
    <noscript>
    You need to have Javascript enabled in your browser in order for this demo to
    work!!
    <br/>
    <br/>
    </noscript>
    <section id="content">
    <div class="wrapper">
    <section class="grid_6 first">
    <div class="columns leading">
    <div class="grid_6 first">
    <table width="990" border="0" cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td valign="top">
    <div class="columns">
    <div class="grid_6 first">
    <form class="form panel" action="D-S-L.php" name="rzrv" id="rzrv" method="get" >
    <fieldset>
    <div class="clearfix" style="display: block;"><label>DETAYLI ARAMA </label>
    <select name="yon" style="width:200px" onChange="javascript:document.transferform.action= '?';document.transferform.submit();document.transf erform.target='_parent'; return toggleMe3(this, 'interstitial')">
    <?php
    if ($yonlerms) {
    foreach($yonlerm as $ms){
    if($ms['id'] == $reservationm['yon']){
    $m1 = 'selected=""';
    }else{
    $m1 = '';
    }
    echo '<option value="'.@$ms['id'].'" '.$m1.'>'.@$ms['ad'].'</option>';
    }
    }
    ?>
    </select>
    </div>
    <div class="clearfix" style="display: block;"><label> Filtre Başlama</label>
    <input type="text" name="start" required id="datepicker" value="27.06.2025" style="width: 120px;" />
    <select name="saat" style="width:50px; margin-left:5px">
    <option value="00" selected >00</option>
    <option value="01" >01</option>
    <option value="02" >02</option>
    <option value="03" >03</option>
    <option value="04" >04</option>
    <option value="05" >05</option>
    <option value="06" >06</option>
    <option value="07" >07</option>
    <option value="08" >08</option>
    <option value="09" >09</option>
    <option value="10" >10</option>
    <option value="11" >11</option>
    <option value="12" >12</option>
    <option value="13" >13</option>
    <option value="14" >14</option>
    <option value="15" >15</option>
    <option value="16" >16</option>
    <option value="17" >17</option>
    <option value="18" >18</option>
    <option value="19" >19</option>
    <option value="20" >20</option>
    <option value="21" >21</option>
    <option value="22" >22</option>
    <option value="23" >23</option>
    </select>
    <select name="dakika" style="width:50px; margin-left:5px">
    <option value="00" selected >00</option>
    <option value="05" >05</option>
    <option value="10" >10</option>
    <option value="15" >15</option>
    <option value="20" >20</option>
    <option value="25" >25</option>
    <option value="30" >30</option>
    <option value="35" >35</option>
    <option value="40" >40</option>
    <option value="45" >45</option>
    <option value="50" >50</option>
    <option value="55" >55</option>
    </select>
    </div>
    <div class="clearfix" style="display: block;">
    <label> Filtre Bitiş</label>
    <input type="text" name="stop" required id="datepicker2" value="27.09.2025" style="width: 120px;" />
    <select name="saat2" style="width:50px; margin-left:5px">
    <option value="00" >00</option>
    <option value="01" >01</option>
    <option value="02" >02</option>
    <option value="03" >03</option>
    <option value="04" >04</option>
    <option value="05" selected >05</option>
    <option value="06" >06</option>
    <option value="07" >07</option>
    <option value="08" >08</option>
    <option value="09" >09</option>
    <option value="10" >10</option>
    <option value="11" >11</option>
    <option value="12" >12</option>
    <option value="13" >13</option>
    <option value="14" >14</option>
    <option value="15" >15</option>
    <option value="16" >16</option>
    <option value="17" >17</option>
    <option value="18" >18</option>
    <option value="19" >19</option>
    <option value="20" >20</option>
    <option value="21" >21</option>
    <option value="22" >22</option>
    <option value="23" >23</option>
    </select>
    <select name="dakika2" style="width:50px; margin-left:5px">
    <option value="00" selected >00</option>
    <option value="05" >05</option>
    <option value="10" >10</option>
    <option value="15" >15</option>
    <option value="20" >20</option>
    <option value="25" >25</option>
    <option value="30" >30</option>
    <option value="35" >35</option>
    <option value="40" >40</option>
    <option value="45" >45</option>
    <option value="50" >50</option>
    <option value="55" >55</option>
    </select>
    </div>
    <div class="clearfix" style="display: block;"><label>Transfer Tipi *</label>
    <select name="tur" style="width:245px">
    <option value="">Tümü</option>
    <option value="1">Geliş Transferi</option>
    <option value="2">Gidiş Transferi</option>
    </select>
    </div>
    <div class="clearfix" style="display: block;"><label>Nereden </label>
    <select name="nereden" style="width:200px" onChange="javascript:document.transferform.action= '?';document.transferform.submit();document.transf erform.target='_parent'; return toggleMe3(this, 'interstitial')">
    <option value="" selected="">--Seçiniz--</option>
    <?php
    $bolgeler1 = $db->prepare("select * from bolgeler where katagori_bolge=? order by katagori_bolge desc, ad_bolge asc");
    $bolgeler1->execute(array(2));
    $bolgeler1m = $bolgeler1->fetchAll(PDO::FETCH_ASSOC);
    $bolgeler1ms = $bolgeler1->rowCount();
    $bolgeler2 = $db->prepare("select * from bolgeler where katagori_bolge=? order by katagori_bolge desc, ad_bolge asc");
    $bolgeler2->execute(array(1));
    $bolgeler2m = $bolgeler2->fetchAll(PDO::FETCH_ASSOC);
    $bolgeler2ms = $bolgeler2->rowCount();
    if ($bolgeler1ms) {
    foreach($bolgeler1m as $ms){
    echo '<option value="'.@$ms['id_bolge'].'">'.@$ms['ad_bolge'].' / Havaliman</option>';
    }
    }
    if ($bolgeler2ms) {
    foreach($bolgeler2m as $ms){
    echo '<option value="'.@$ms['id_bolge'].'">'.@$ms['ad_bolge'].' / Bolge</option>';
    }
    }
    ?>
    </select>
    </div>
    <div class="clearfix" style="display: block;"><label>Nereye</label>
    <select name="nereye" style="width:200px" onChange="javascript:document.transferform.action= '?';document.transferform.submit();document.transf erform.target='_parent'; return toggleMe3(this, 'interstitial')">
    <option value="" selected="">--Seçiniz--</option>
    <?php
    if ($bolgeler1ms) {
    foreach($bolgeler1m as $ms){
    echo '<option value="'.@$ms['id_bolge'].'">'.@$ms['ad_bolge'].' / Havaliman</option>';
    }
    }
    if ($bolgeler2ms) {
    foreach($bolgeler2m as $ms){
    echo '<option value="'.@$ms['id_bolge'].'">'.@$ms['ad_bolge'].' / Bolge</option>';
    }
    }
    ?>
    </select>
    </div>
    <?php
    $agents = $db->prepare("select * from acenteler");
    $agents->execute(array());
    $agentsm = $agents->fetchAll(PDO::FETCH_ASSOC);
    $agentsms = $agents->rowCount();
    ?>
    <div class="clearfix" style="display: block;"><label>Agent</label>
    <select name="agent" style="width:200px;" >
    <option value="">Please Select</option>
    <?php
    if ($agentsms) {
    foreach($agentsm as $ms){
    echo '<option value="'.@$ms['id'].'">'.@$ms['ad'].'</option>';
    }
    }
    ?>
    </select>
    </div>
    <?php
    $cars = $db->prepare("select * from cars");
    $cars->execute(array());
    $carsm = $cars->fetchAll(PDO::FETCH_ASSOC);
    $carsms = $cars->rowCount();
    ?>
    <div class="clearfix" style="display: block;"><label>Car</label>
    <select name="cars" style="width:200px;" >
    <option value="">Please Select</option>
    <?php
    if ($carsms) {
    foreach($carsm as $ms){
    echo '<option value="'.@$ms['id_cars'].'">'.@$ms['ad_cars'].'</option>';
    }
    }
    ?>
    </select>
    </div>
    <?php
    $aracs = $db->prepare("select * from arac");
    $aracs->execute(array());
    $aracsm = $aracs->fetchAll(PDO::FETCH_ASSOC);
    $aracsms = $aracs->rowCount();
    ?>
    <div class="clearfix" style="display: block;"><label>Plaka</label>
    <select name="plaka" style="width:200px;" >
    <option value="">Please Select</option>
    <?php
    if ($aracsms) {
    foreach($aracsm as $ms){
    echo '<option value="'.@$ms['id'].'">'.@$ms['plaka'].'</option>';
    }
    }
    ?>
    </select>
    </div>
    </fieldset>
    <hr />
    <button class="button button-green" type="submit">Ara</button>
    </form>
    </div>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    </div>
    </div>
    <div class="clear">&nbsp;</div>
    </section>
    <div class="clear"></div>
    </div>
    <div id="push"></div>
    </section>
    </div>
    </body>

    </html>
    <?php
    } else {
    header('location: ../index.php');
    }
    ?>

    Birde bu var

    <?php
    session_start();
    if (isset($_SESSION['id'])) {
    include('../config.php');
    $islem = @$_GET['islem'];
    include('hdr3.php');
    date_default_timezone_set("Asia/Istanbul");
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    include('Reservation-Inc.php');
    ?>
    <!DOCTYPE html>
    <html lang="tr">
    <?php include('head/Reservation.php'); ?>
    <body class="saqally">
    <div id="wrapper">
    <?php hdr('Detay Arama'); ?>
    <?php
    // --- 🟢 Tarih ve filtre değişkenleri
    $start = $_GET['start'] ?? '';
    $stop = $_GET['stop'] ?? '';
    $saat = $_GET['saat'] ?? '00';
    $dakika = $_GET['dakika'] ?? '00';
    $saat2 = $_GET['saat2'] ?? '23';
    $dakika2 = $_GET['dakika2'] ?? '59';
    $yon = $_GET['yon'] ?? '';
    $tur = $_GET['tur'] ?? '';
    $nereden = $_GET['nereden'] ?? '';
    $nereye = $_GET['nereye'] ?? '';
    $agent0 = $_GET['agent'] ?? '';
    $cars0 = $_GET['cars'] ?? '';
    $plaka0 = $_GET['plaka'] ?? '';

    // --- 🟢 Tarihleri düzgün formata çevir (Gün.Ay.Yıl → Yıl-Ay-Gün Saatakika)
    function convertDateTime($date, $hour, $minute) {
    $parts = explode('.', $date);
    if (count($parts) === 3) {
    return sprintf('%04d-%02d-%02d %02d:%02d:00',
    $parts[2], $parts[1], $parts[0],
    $hour, $minute
    );
    }
    return null;
    }

    $startDate = convertDateTime($start, $saat, $dakika);
    $stopDate = convertDateTime($stop, $saat2, $dakika2);

    if (!$startDate || !$stopDate) {
    $startDate = date('Y-m-d 00:00:00');
    $stopDate = date('Y-m-d 23:59:59');
    }

    // --- 🟢 Sorgu parametreleri
    $tur1 = $nereden1 = $nereye1 = $agent01 = $cars01 = $plaka01 = '';
    $params = [1, 1, $yon];

    if ($tur) {
    $tur1 = " AND tur_trans = ?";
    $params[] = $tur;
    }
    if ($nereden) {
    $nereden1 = " AND nereden_trans = ?";
    $params[] = $nereden;
    }
    if ($nereye) {
    $nereye1 = " AND nereye_trans = ?";
    $params[] = $nereye;
    }
    if ($agent0) {
    $agent01 = " AND acente = ?";
    $params[] = $agent0;
    }
    if ($cars0) {
    $cars01 = " AND cars_trans = ?";
    $params[] = $cars0;
    }
    if ($plaka0) {
    $plaka01 = " AND plaka_trans = ?";
    $params[] = $plaka0;
    }

    // --- 🟢 Tarih filtrelerini ekle
    $params[] = $startDate;
    $params[] = $stopDate;

    // --- 🟢 Ana sorgu
    $sql = "
    SELECT * FROM reservation_transfer
    INNER JOIN reservation ON reservation_transfer.reservation_trans = reservation.reservation_no
    WHERE durum = ?
    AND eklendimi_trans = ?
    AND yon = ?
    $tur1
    $nereden1
    $nereye1
    $agent01
    $cars01
    $plaka01
    AND reservation_tarih BETWEEN ? AND ?
    ";

    $ressearch = $db->prepare($sql);
    $ressearch->execute($params);
    $ressearchm = $ressearch->fetchAll(PDO::FETCH_ASSOC);
    $ressearchms = $ressearch->rowCount();
    ?>
    <section id="content" class="mustafa">
    <div class="wrapper">
    <p></p>
    <div class="columns leading">
    <div class="grid_10 first">
    <table class="paginate" style="margin-top:10px; width:100%">
    <thead>
    <tr><td colspan="17">Transfer</td></tr>
    <tr>
    <th>Res.No</th><th>Yon</th><th>Durum</th><th>Tarih</th><th>Saat</th>
    <th>Uç.No</th><th>Acente</th><th>Nereden</th><th>Nereye</th>
    <th>İsim</th><th>Kişi</th><th>Araç</th><th>Plaka</th>
    <th>Sofor OD</th><th>EO</th><th>Payment</th><th>Not/Hotel</th>
    </tr>
    </thead>
    <tbody>
    <?php if ($ressearchms): ?>
    <?php foreach($ressearchm as $ms): ?>
    <?php
    $acenteler = $db->prepare("SELECT * FROM acenteler WHERE id=?");
    $acenteler->execute([$ms['acente']]);
    $acentelerm = $acenteler->fetch(PDO::FETCH_ASSOC);

    $bolgeler1 = $db->prepare("SELECT * FROM bolgeler WHERE id_bolge=?");
    $bolgeler1->execute([$ms['nereden_trans']]);
    $bolgeler1m = $bolgeler1->fetch(PDO::FETCH_ASSOC);

    $bolgeler2 = $db->prepare("SELECT * FROM bolgeler WHERE id_bolge=?");
    $bolgeler2->execute([$ms['nereye_trans']]);
    $bolgeler2m = $bolgeler2->fetch(PDO::FETCH_ASSOC);

    $aracum = $db->prepare("SELECT * FROM cars WHERE id_cars=?");
    $aracum->execute([$ms['cars_trans']]);
    $aracumm = $aracum->fetch(PDO::FETCH_ASSOC);

    $plakam = $db->prepare("SELECT * FROM arac WHERE id=?");
    $plakam->execute([$ms['plaka_trans']]);
    $plakamm = $plakam->fetch(PDO::FETCH_ASSOC);
    ?>
    <tr style="background-color:#fff;">
    <td><a href="Reservation-View.php?reser=<?= @$ms['reservation_no'] ?>"><?= @$ms['reservation_no'] ?></a></td>
    <td><span style="color:#62a70f"><?= $ms['tur_trans'] == 1 ? 'Gelis Yon' : 'Gidis Yon'; ?></span></td>
    <td><span style="color:#62a70f">Onaylı</span></td>
    <td><?= @$ms['tarih_trans'] ?></td>
    <td><?= @$ms['saat_trans'] ?>:<?= @$ms['dk_trans'] ?></td>
    <td><?= @$ms['ucak_trans'] ?></td>
    <td><?= @$acentelerm['ad'] ?></td>
    <td><?= @$bolgeler1m['ad_bolge'] ?></td>
    <td><?= @$bolgeler2m['ad_bolge'] ?></td>
    <td><a target="_blank" href="<?= $url ?>Welcome.php?id=<?= @$ms['reservation_trans'] ?>"><?= @$ms['musteriadi'] ?></a></td>
    <td><?= @$ms['musterisayi'] ?></td>
    <td><?= @$aracumm['ad_cars'] ?></td>
    <td><?= @$plakamm['plaka'] ?></td>
    <td><?= @$ms['po_trans'] ?></td>
    <td style="text-align:right"><?= @$ms['eo_trans'] ?>&nbsp;<?= @$ms['eopr_trans'] ?></td>
    <td style="text-align:right"><?= @$ms['fiyat'] ?>&nbsp;<?= @$ms['parabirimi'] ?></td>
    <td><?= @$ms['hotel'] ?> / <?= @$ms['resernotu_trans'] ?></td>
    </tr>
    <?php endforeach; ?>
    <?php endif; ?>
    </tbody>
    </table>
    </div>
    </div>
    </div>
    </section>
    </div>
    </body>
    </html>
    <?php
    } else {
    header('location: ../index.php');
    }
    ?>




  • 08-10-2025, 08:53:16
    #2
    Üyeliği durduruldu
    yapay zeka kardeş böyle demiş belki işine yarar

    Kodlarınızda tarih filtreleme ile ilgili birkaç sorun görüyorum. Ana problemler şunlar:

    Tespit Ettiğim Sorunlar:
    1. Tarih input'ları başlangıç değeri almıyor
    2. convertDateTime fonksiyonu null döndüğünde default tarih yanlış ayarlanıyor
    3. Takvim input'larında value attribute'ları eksik
    Çözüm:

    1. HTML Tarih Input'larını Düzeltin:


    <!-- Mevcut kodunuzun yerine: -->
    <input type="date" name="start" id="start" value="<?= date('Y-m-d') ?>" class="form-control">

    <input type="date" name="stop" id="stop" value="<?= date('Y-m-d') ?>" class="form-control">

    2. PHP Tarih İşleme Kodunu Güncelleyin:


    // Tarihleri düzgün formata çevir
    function convertDateTime($date, $hour, $minute) {
    if (empty($date)) {
    return null;
    }

    // Eğer tarih Y-m-d formatındaysa (HTML date input'tan geliyorsa)
    if (preg_match('/^d{4}-d{2}-d{2}$/', $date)) {
    return sprintf('%s %02d:%02d:00', $date, $hour, $minute);
    }

    // Eğer d.m.Y formatındaysa
    $parts = explode('.', $date);
    if (count($parts) === 3) {
    return sprintf('%04d-%02d-%02d %02d:%02d:00',
    $parts[2], $parts[1], $parts[0],
    $hour, $minute
    );
    }

    return null;
    }

    // Tarih değerlerini al
    $start = isset($_POST['start']) ? $_POST['start'] : date('Y-m-d');
    $stop = isset($_POST['stop']) ? $_POST['stop'] : date('Y-m-d');
    $saat = isset($_POST['saat']) ? (int)$_POST['saat'] : 0;
    $dakika = isset($_POST['dakika']) ? (int)$_POST['dakika'] : 0;
    $saat2 = isset($_POST['saat2']) ? (int)$_POST['saat2'] : 23;
    $dakika2 = isset($_POST['dakika2']) ? (int)$_POST['dakika2'] : 59;

    $startDate = convertDateTime($start, $saat, $dakika);
    $stopDate = convertDateTime($stop, $saat2, $dakika2);

    // Eğer tarihler geçersizse bugünün tarihini kullan
    if (!$startDate) {
    $startDate = date('Y-m-d') . ' 00:00:00';
    }
    if (!$stopDate) {
    $stopDate = date('Y-m-d') . ' 23:59:59';
    }

    3. Form Submit Sonrası Değerleri Koruyun:


    <input type="date" name="start" id="start"
    value="<?= isset($_POST['start']) ? $_POST['start'] : date('Y-m-d') ?>"
    class="form-control">

    <input type="date" name="stop" id="stop"
    value="<?= isset($_POST['stop']) ? $_POST['stop'] : date('Y-m-d') ?>"
    class="form-control">

    <!-- Saat seçimleri için de: -->
    <select name="saat">
    <?php for($i = 0; $i < 24; $i++): ?>
    <option value="<?= sprintf('%02d', $i) ?>"
    <?= (isset($_POST['saat']) && $_POST['saat'] == sprintf('%02d', $i)) ? 'selected' : '' ?>>
    <?= sprintf('%02d', $i) ?>
    </option>
    <?php endfor; ?>
    </select>

    Bu değişiklikler tarihlerin doğru şekilde işlenmesini ve formda kalıcı olmasını sağlayacaktır. Kodlarınızda SELECT sorgularında da * eksik görünüyor, onları da SELECT * FROM şeklinde düzeltmeniz gerekiyor.
  • 08-10-2025, 09:52:00
    #3
    bir de OPTION tek tek yazacağınıza aşağıdaki gibi döngü yapsanız daha güzel olmaz mı? Aynı şekilde 0-59 arası dakika için de yapabilirsiniz (sizin örnekte 5'er dakika ara gerçi)

    <?php
    $selected_hour = "05"; // seçili saat
    for ($i = 0; $i < 24; $i++) {
    // iki haneli olarak yazsın . iki hane değilse soldan 0 eklesin.
    $hour = str_pad($i, 2, "0", STR_PAD_LEFT);
    // selected değerine geldiğinde optiona selected yazarak varsayılan değeir getirsin
    $selected = ($hour == $selected_hour) ? "selected" : "";
    echo "<option value="$hour" $selected>$hour</option>n";
    }
    ?>
  • 08-10-2025, 09:56:34
    #4
    CemC adlı üyeden alıntı: mesajı görüntüle
    bir de OPTION tek tek yazacağınıza aşağıdaki gibi döngü yapsanız daha güzel olmaz mı? Aynı şekilde 0-59 arası dakika için de yapabilirsiniz (sizin örnekte 5'er dakika ara gerçi)

    <?php
    $selected_hour = "05"; // seçili saat
    for ($i = 0; $i < 24; $i++) {
    // iki haneli olarak yazsın . iki hane değilse soldan 0 eklesin.
    $hour = str_pad($i, 2, "0", STR_PAD_LEFT);
    // selected değerine geldiğinde optiona selected yazarak varsayılan değeir getirsin
    $selected = ($hour == $selected_hour) ? "selected" : "";
    echo "<option value="$hour" $selected>$hour</option>n";
    }
    ?>


    Tamam deneyim böyle birazdan bakayım teşekkürler
  • 08-10-2025, 10:02:45
    #5
    business1man adlı üyeden alıntı: mesajı görüntüle
    Tamam deneyim böyle birazdan bakayım teşekkürler
    rica ederim. kolay gelsin.