• 08-10-2023, 17:24:15
    #1
    merhaba php ile tablodan fiyat toplamı cekmek istiyorum.
    günlük - haftalık aylık gibi

    veritabanımdaki veriler şu şekilde ;
    tablomun adı : emir

    "fiyat" Tablosu : ÇEKİLECEK FİYATLAR
    "piyasa_fiyat" tablosu : TARİH



    bu şekilde yazdıgımda olmuyor
  • 08-10-2023, 17:24:56
    #2
    Bu yazdıgım kod günlük için yazdıgım bir tanesi olursa diğerlerini yapabilirim diye düşündüm.
    $bugun_baslangic = strtotime(date('y-m-d'));
            $bugun_bitis = strtotime(date('Y-m-d').' 23:59:00');
            $bugun_satis = $db->query("SELECT sum(fiyat) as toplam FROM emir WHERE piyasa_fiyat > '{$bugun_baslangic}' AND piyasa_fiyat < '{$bugun_bitis}'")->fetch(PDO::FETCH_ASSOC);
  • 08-10-2023, 17:32:22
    #3
    piyasa_fiyat ile karşılaştırma yapıyorsunuz? tarih ile karşılaştırma yapmalısınız
  • 08-10-2023, 17:35:44
    #4
    <?php
    // Tarih aralığını ayarlayın
    $baslangic_tarihi = '2023-10-01'; // Başlangıç tarihi
    $bitis_tarihi = '2023-10-31';    // Bitiş tarihi
    
    // Günlük fiyat toplamı sorgusu
    $gunluk_sorgu = "SELECT SUM(fiyat) AS gunluk_toplam FROM emir WHERE TARİH BETWEEN '$baslangic_tarihi' AND '$bitis_tarihi'";
    
    // Haftalık fiyat toplamı sorgusu
    $haftalik_sorgu = "SELECT SUM(fiyat) AS haftalik_toplam FROM emir WHERE TARİH BETWEEN DATE_SUB('$bitis_tarihi', INTERVAL 1 WEEK) AND '$bitis_tarihi'";
    
    // Aylık fiyat toplamı sorgusu
    $aylik_sorgu = "SELECT SUM(fiyat) AS aylik_toplam FROM emir WHERE TARİH BETWEEN DATE_SUB('$bitis_tarihi', INTERVAL 1 MONTH) AND '$bitis_tarihi'";
    
    // Sorguları çalıştırın
    $gunluk_sonuc = $conn->query($gunluk_sorgu);
    $haftalik_sonuc = $conn->query($haftalik_sorgu);
    $aylik_sonuc = $conn->query($aylik_sorgu);
    
    // Sonuçları alın
    $gunluk_veri = $gunluk_sonuc->fetch_assoc();
    $haftalik_veri = $haftalik_sonuc->fetch_assoc();
    $aylik_veri = $aylik_sonuc->fetch_assoc();
    
    // Sonuçları yazdırın
    echo "Günlük Toplam: " . $gunluk_veri['gunluk_toplam'] . "<br>";
    echo "Haftalık Toplam: " . $haftalik_veri['haftalik_toplam'] . "<br>";
    echo "Aylık Toplam: " . $aylik_veri['aylik_toplam'] . "<br>";
    
    // Veritabanı bağlantısını kapatın
    $conn->close();
    ?>
  • 08-10-2023, 17:40:20
    #5
    piyasa_fiyat unix zamanı olarak kayıtlı değilse strtotime kullanma. sorgu üstündeki strtotime ifadesini kaldırırsan olur.

    Ayrıca burada yardımcı olanlara tek tek teşekkür etmen gerekiyor. Yoksa engelliyorum. Şimdilik senin için demiyorum ama İnsanlık şart.
  • 08-10-2023, 17:42:58
    #6
    profweb adlı üyeden alıntı: mesajı görüntüle
    piyasa_fiyat ile karşılaştırma yapıyorsunuz? tarih ile karşılaştırma yapmalısınız
    profweb hocamın dediği gibi yerleri değiştirdim günlük olarak aldım diğer şekilde hafta ve ayı da değiştirdim yine günü veriyor bunu çözemedim
  • 08-10-2023, 19:11:02
    #7
    arkadaslar yapamadım da yardımcı olabilecek varsa çok iyi olur
  • 08-10-2023, 22:49:03
    #8
    PM Atabilirsiniz ücretsiz destek sağlamak isterim.