PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: index.php Size: 12.62 KB
/home/ankaservis/analiz.ankaservis.com/index.php

<?php
// Veritabanı bağlantısı
require_once 'includes/config.php';

// Tarih aralıkları için girişler
$filter = isset($_GET['filter']) ? $_GET['filter'] : 'today'; 

// Varsayılan tarih aralığı bugün
$today = new DateTime('today');
$startDate = $today->format('Y-m-d') . ' 00:00:00';
$endDate = $today->format('Y-m-d') . ' 23:59:59';

// Eğer tarih aralığı seçildiyse bunu kullanırız
if (isset($_GET['start_date']) && isset($_GET['end_date'])) {
    $startDate = $_GET['start_date'] . ' 00:00:00';
    $endDate = $_GET['end_date'] . ' 23:59:59';
    $filterMessage = "$_GET[start_date] ile $_GET[end_date] arasındaki servisler listeleniyor.";
} else {
    // Eğer filtreleme butonlarından biri seçildiyse ona göre tarih aralığını belirleyelim
    switch ($filter) {
        case 'today':
            $startDate = $today->format('Y-m-d') . ' 00:00:00';
            $endDate = $today->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Bugünün servisleri listeleniyor.";
            break;
        case 'yesterday':
            $yesterday = new DateTime('yesterday');
            $startDate = $yesterday->format('Y-m-d') . ' 00:00:00';
            $endDate = $yesterday->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Dünün servisleri listeleniyor.";
            break;
        case 'this_week':
            $thisWeekStart = new DateTime('monday this week');
            $startDate = $thisWeekStart->format('Y-m-d') . ' 00:00:00';
            $endDate = $today->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Bu haftanın servisleri listeleniyor.";
            break;
        case 'last_week':
            $lastWeekStart = new DateTime('monday last week');
            $lastWeekEnd = new DateTime('sunday last week');
            $startDate = $lastWeekStart->format('Y-m-d') . ' 00:00:00';
            $endDate = $lastWeekEnd->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Geçen haftanın servisleri listeleniyor.";
            break;
        case 'this_month':
            $thisMonthStart = new DateTime('first day of this month');
            $startDate = $thisMonthStart->format('Y-m-d') . ' 00:00:00';
            $endDate = $today->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Bu ayın servisleri listeleniyor.";
            break;
        case 'last_month':
            $lastMonthStart = new DateTime('first day of last month');
            $lastMonthEnd = new DateTime('last day of last month');
            $startDate = $lastMonthStart->format('Y-m-d') . ' 00:00:00';
            $endDate = $lastMonthEnd->format('Y-m-d') . ' 23:59:59';
            $filterMessage = "Geçen ayın servisleri listeleniyor.";
            break;
        default:
            $filterMessage = "Bugünün servisleri listeleniyor.";
            break;
    }
}

// Personel bazlı servis sayısını yeni_personel'e göre hesaplayalım
$personelQuery = "SELECT p.adi AS personel_adi, COUNT(*) AS servis_sayisi
                  FROM girisler
                  LEFT JOIN yonetici p ON girisler.yeni_personel = p.id
                  WHERE STR_TO_DATE(girisler.GTarih, '%d.%m.%Y. %H:%i:%s') BETWEEN :start_date AND :end_date
                  GROUP BY p.adi";

$personelStmt = $db->prepare($personelQuery);
$personelStmt->bindValue(':start_date', $startDate);
$personelStmt->bindValue(':end_date', $endDate);
$personelStmt->execute();
$personelResults = $personelStmt->fetchAll(PDO::FETCH_ASSOC);

// Servis kaydını alan kişilerin servis giriş sayılarını hesaplayalım
$teslimAlanQuery = "SELECT girisler.teslimalan AS teslim_alan, COUNT(*) AS servis_sayisi
                    FROM girisler
                    WHERE STR_TO_DATE(girisler.GTarih, '%d.%m.%Y. %H:%i:%s') BETWEEN :start_date AND :end_date
                    GROUP BY girisler.teslimalan";

$teslimAlanStmt = $db->prepare($teslimAlanQuery);
$teslimAlanStmt->bindValue(':start_date', $startDate);
$teslimAlanStmt->bindValue(':end_date', $endDate);
$teslimAlanStmt->execute();
$teslimAlanResults = $teslimAlanStmt->fetchAll(PDO::FETCH_ASSOC);

// Durumlara göre servis sayısını hesaplayalım
$durumQuery = "SELECT
                SUM(CASE WHEN sd.servisdurum = 'Beklemede' THEN 1 ELSE 0 END) AS beklemede_sayisi,
                SUM(CASE WHEN sd.servisdurum = 'İleriki Tarih' THEN 1 ELSE 0 END) AS ileriki_tarih_sayisi,
                SUM(CASE WHEN sd.servisdurum = 'İptal' THEN 1 ELSE 0 END) AS iptal_sayisi
               FROM girisler
               LEFT JOIN servisDurumu sd ON girisler.Gdurum = sd.id
               WHERE STR_TO_DATE(girisler.GTarih, '%d.%m.%Y. %H:%i:%s') BETWEEN :start_date AND :end_date";

$durumStmt = $db->prepare($durumQuery);
$durumStmt->bindValue(':start_date', $startDate);
$durumStmt->bindValue(':end_date', $endDate);
$durumStmt->execute();
$durumResults = $durumStmt->fetch(PDO::FETCH_ASSOC);

// Giriş yapılan servisleri listeleyelim ve toplam servis sayısını hesaplayalım
$query = "SELECT girisler.GID, girisler.MID, musteriler.Ad_Soyad, 
                 girisler.personel, p1.adi AS personel_adi, 
                 girisler.yeni_personel, p2.adi AS yeni_personel_adi, 
                 girisler.GTarih, girisler.HSikayet, 
                 girisler.Gdurum, sd.servisdurum AS servis_durumu, 
                 girisler.DServis, girisler.uruncinsi, girisler.takipno, 
                 girisler.marka, m.marka AS marka_adi, 
                 girisler.turu, u.turu AS urun_turu, 
                 girisler.teslimalan, 
                 girisler.baslama_t
          FROM girisler
          LEFT JOIN musteriler ON girisler.MID = musteriler.id
          LEFT JOIN yonetici p1 ON girisler.personel = p1.id
          LEFT JOIN yonetici p2 ON girisler.yeni_personel = p2.id
          LEFT JOIN marka m ON girisler.marka = m.id
          LEFT JOIN urunturu u ON girisler.turu = u.id
          LEFT JOIN servisDurumu sd ON girisler.Gdurum = sd.id
          WHERE STR_TO_DATE(girisler.GTarih, '%d.%m.%Y. %H:%i:%s') BETWEEN :start_date AND :end_date
          ORDER BY girisler.GID DESC";

$stmt = $db->prepare($query);
$stmt->bindValue(':start_date', $startDate);
$stmt->bindValue(':end_date', $endDate);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Toplam servis sayısını alalım
$totalServis = count($results);
?>

<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Servis Girişleri - Tarihe Göre Filtreleme</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container-fluid mt-5">
        <h1 class="mb-4">Servis Girişleri - Tarih Filtreleme</h1>

        <!-- Tarih Filtreleme Butonları ve Tarih Seçimi -->
        <div class="row mb-3">
            <div class="col-md-8">
                <!-- Butonlar -->
                <div class="btn-group" role="group">
                    <a href="?filter=today" class="btn btn-primary btn-sm">Bu Gün</a>
                    <a href="?filter=yesterday" class="btn btn-secondary btn-sm">Dün</a>
                    <a href="?filter=this_week" class="btn btn-info btn-sm">Bu Hafta</a>
                    <a href="?filter=last_week" class="btn btn-warning btn-sm">Geçen Hafta</a>
                    <a href="?filter=this_month" class="btn btn-success btn-sm">Bu Ay</a>
                    <a href="?filter=last_month" class="btn btn-danger btn-sm">Geçen Ay</a>
                </div>
            </div>

            <!-- Tarih Aralığı Formu -->
            <div class="col-md-4">
                <form method="GET" class="d-flex">
                    <input type="date" class="form-control form-control-sm me-2" name="start_date" id="start_date" required placeholder="Başlangıç Tarihi">
                    <input type="date" class="form-control form-control-sm me-2" name="end_date" id="end_date" required placeholder="Bitiş Tarihi">
                    <button type="submit" class="btn btn-primary btn-sm">Filtrele</button>
                </form>
            </div>
        </div>

        <!-- Filtre Sonucu ve Toplam Kayıt Sayısı -->
        <div class="alert alert-info">
            <strong><?= $filterMessage ?> Toplam: <?= $totalServis ?> Servis</strong><br>
        </div>

        <!-- İstatistikler: Personel Servis Sayıları, Servis Durumu, Teslim Alan -->
        <div class="row mb-4">
            <div class="col-md-4">
                <h4>Personel Servis Sayıları (yeni_personel):</h4>
                <ul class="list-group mb-3">
                    <?php foreach ($personelResults as $personel): ?>
                        <li class="list-group-item"><?= $personel['personel_adi'] ?>: <?= $personel['servis_sayisi'] ?> Servis</li>
                    <?php endforeach; ?>
                </ul>
            </div>
            <div class="col-md-4">
                <h4>Servis Durumu İstatistikleri:</h4>
                <ul class="list-group mb-3">
                    <li class="list-group-item">Beklemede: <?= $durumResults['beklemede_sayisi'] ?> Servis</li>
                    <li class="list-group-item">İleriki Tarih: <?= $durumResults['ileriki_tarih_sayisi'] ?> Servis</li>
                    <li class="list-group-item">İptal: <?= $durumResults['iptal_sayisi'] ?> Servis</li>
                </ul>
            </div>
            <div class="col-md-4">
                <h4>Servis Kaydını Alan İstatistikleri:</h4>
                <ul class="list-group mb-3">
                    <?php foreach ($teslimAlanResults as $teslimAlan): ?>
                        <li class="list-group-item"><?= htmlspecialchars($teslimAlan['teslim_alan']) ?>: <?= $teslimAlan['servis_sayisi'] ?> Servis</li>
                    <?php endforeach; ?>
                </ul>
            </div>
        </div>

        <!-- Servis Kayıtları -->
        <div class="table-responsive">
            <table class="table table-striped table-bordered">
                <thead class="table-dark">
                    <tr>
                        <th>GID</th>
                        <th>Müşteri ID (MID)</th>
                        <th>Müşteri Adı Soyadı</th>
                        <th>Personel</th>
                        <th>Yeni Personel</th>
                        <th>Giriş Tarihi</th>
                        <th>Şikayet</th>
                        <th>Durum</th>
                        <th>Servis</th>
                        <th>Ürün Cinsi</th>
                        <th>Takip No</th>
                        <th>Marka</th>
                        <th>Türü</th>
                        <th>Servis Kaydını Alan</th>
                        <th>Başlama Tarihi</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if ($results): ?>
                        <?php foreach ($results as $row): ?>
                            <tr>
                                <td><?= htmlspecialchars($row['GID']) ?></td>
                                <td><?= htmlspecialchars($row['MID']) ?></td>
                                <td><?= htmlspecialchars($row['Ad_Soyad']) ?></td>
                                <td><?= htmlspecialchars($row['personel_adi'] ?? 'N/A') ?></td>
                                <td>
                                    <?= $row['yeni_personel_adi'] ? htmlspecialchars($row['yeni_personel_adi']) : 'Atama Yapılmayan Servis' ?>
                                </td>
                                <td><?= htmlspecialchars($row['GTarih']) ?></td>
                                <td><?= htmlspecialchars($row['HSikayet']) ?></td>
                                <td><?= htmlspecialchars($row['servis_durumu'] ?? 'N/A') ?></td>
                                <td><?= htmlspecialchars($row['DServis']) ?></td>
                                <td><?= htmlspecialchars($row['uruncinsi']) ?></td>
                                <td><?= htmlspecialchars($row['takipno']) ?></td>
                                <td><?= htmlspecialchars($row['marka_adi'] ?? 'N/A') ?></td>
                                <td><?= htmlspecialchars($row['urun_turu'] ?? 'N/A') ?></td>
                                <td><?= htmlspecialchars($row['teslimalan'] ?? 'N/A') ?></td>
                                <td><?= htmlspecialchars($row['baslama_t']) ?></td>
                            </tr>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <tr>
                            <td colspan="15" class="text-center">Kayıt bulunamadı</td>
                        </tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

Directory Contents

Dirs: 3 × Files: 4

Name Size Perms Modified Actions
- drwxr-xr-x 2025-01-09 06:49:10
Edit Download
cgi-bin DIR
- drwxr-xr-x 2025-01-09 10:09:02
Edit Download
includes DIR
- drwxr-xr-x 2025-01-09 06:49:10
Edit Download
289 B lrw-r--r-- 2026-02-05 23:02:53
Edit Download
12.62 KB lrw-r--r-- 2024-09-23 21:18:22
Edit Download
9.93 KB lrw-r--r-- 2024-09-23 16:24:28
Edit Download
6.22 KB lrw-r--r-- 2024-09-23 08:45:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI