• 19-02-2020, 11:30:13
    #1
    Merhaba, yapmak istediğim şey mysql veritabanında 3 tablom var ikisi birbirine bağlantılı örnek : siparisler tablosu ve siparisdetay tablosu birbirlerine bağlı
    birde tahsilatlar tablom var bunlardan bağımsız. Benim yapmak istediğim tek sorguda veya iki sorguda müşteri ID'ine göre ekstre yapmak yani ay bazında veya hafta bazında verileri çekip
    tarih sıralamasına göre ödemeleri ve siparişleri aynı anda listelemek. Umarım anlatabilmişimdir bunu hangi php/pdo veya html jquery hangisi olursa yapabilirim
  • 19-02-2020, 12:09:51
    #2
    Bu tablolarda kullanıcıya ait bir id olmalı bu id üzerinden sorguları yapmalısınız ardından verileri ayrı ayrı sorgu ile bir tabloda örneğin birleştirmelisiniz.
    $tablo =''";
    $tablo .='ilk veriler';
    $tablo .='ikinci veriler';
    $tablo .=üçüncü veriler';
    Bu şekile 3 veriyi de birleştirebilirsiniz en basidinden. Eğer yapamazsanız iletişime geçebilirsiniz uygun bir şekilde yardımcı olurum.
  • 19-02-2020, 12:34:33
    #3
    MySql sorgunuzda JOIN kullanarak yapabilirsiniz.
    Verdiğiniz örnekte siparisdetay tablosunun siparis ile fk (foreignkey) , siparis in ise user ile fk ilişkisi olması gerekir.
    Ayrıca tahsilat tablonuzunda user ile fk ilişkisini kurmanız lazım.
    Sonrasında Sql kodlarınızı yazabilirsiniz.
  • 19-02-2020, 17:27:23
    #4
    Merhaba, mantık olarak söylediklerinizin hepsini daha önce yapmıştım zaten benim asıl sorunum yazdırırken tarih sırasına göre ayrı tablolardaki verileri sıralamak.
    Örnek vermek gerekirse x müşteri
    19/02/2020 tarihinde xx ürününü sipariş verdi diyelim ardından
    20/02/2020 tarihinde xx tutarında ödeme yaptı
    22/02/2020 tarihinde xx ürünü siparişi

    tekrar tekrar devam eden veriler gibi bunları zaten ayrı ayrı yazdırabiliyorum. aslına bakarsak bunu pdo php dışında yapabileceğim html veya java kodlarıda olabilir. ayrı ayrı çektiğim verileri o şekle sokabilecek.

    yardımınız için şimdiden teşekkürler.

    coder63 adlı üyeden alıntı: mesajı görüntüle
    MySql sorgunuzda JOIN kullanarak yapabilirsiniz.
    Verdiğiniz örnekte siparisdetay tablosunun siparis ile fk (foreignkey) , siparis in ise user ile fk ilişkisi olması gerekir.
    Ayrıca tahsilat tablonuzunda user ile fk ilişkisini kurmanız lazım.
    Sonrasında Sql kodlarınızı yazabilirsiniz.




    Cevabınız için teşekkür ederim. ama mantık yürütemedim verdiğiniz örnek ile ilgili

    ouzkilic adlı üyeden alıntı: mesajı görüntüle
    Bu tablolarda kullanıcıya ait bir id olmalı bu id üzerinden sorguları yapmalısınız ardından verileri ayrı ayrı sorgu ile bir tabloda örneğin birleştirmelisiniz.
    $tablo =''";
    $tablo .='ilk veriler';
    $tablo .='ikinci veriler';
    $tablo .=üçüncü veriler';
    Bu şekile 3 veriyi de birleştirebilirsiniz en basidinden. Eğer yapamazsanız iletişime geçebilirsiniz uygun bir şekilde yardımcı olurum.
  • 19-02-2020, 20:27:02
    #5
    Gknst adlı üyeden alıntı: mesajı görüntüle
    Merhaba, yapmak istediğim şey mysql veritabanında 3 tablom var ikisi birbirine bağlantılı örnek : siparisler tablosu ve siparisdetay tablosu birbirlerine bağlı
    birde tahsilatlar tablom var bunlardan bağımsız. Benim yapmak istediğim tek sorguda veya iki sorguda müşteri ID'ine göre ekstre yapmak yani ay bazında veya hafta bazında verileri çekip
    tarih sıralamasına göre ödemeleri ve siparişleri aynı anda listelemek. Umarım anlatabilmişimdir bunu hangi php/pdo veya html jquery hangisi olursa yapabilirim
    Örnek bir kod yazayım tablo isimlerini kendinize göre değiştirirsiniz.

    $siparislerilistele = $db->prepare("SELECT siparisler.*,odemeler.tutar FROM siparisler LEFT JOIN odemeler ON odemeler.id = siparisler.odeme_id WHERE siparisler.uyeid = ?");
    $siparislerilistele->execute(array($uyeID));
    Buradan gelen verilere göre üyenin siparişlerini aylık çekmek istiyorsanız WHERE komudunun sonuna
    DATE_SUB(NOW(), INTERVAL ? MONTH) < FROM_UNIXTIME(siparisler.tarih)
    yazabilirsiniz.

    Bu tarih aralığında toplam ödenen tutarı göstertmek istiyorsanız.

    Sütun seçme yerine
    SUM(odemeler.tutar) as toplamtutar
    yazıp ardından WHERE sonuna
    GROUP BY siparisler.uyeid
    yazabilirsiniz. Eminim bu şekilde istediğiniz şeyleri yaparsınız.
  • 19-02-2020, 22:36:06
    #6
    Veritabanından verileri array olarak alıp php kısmında array üzerinde düzenleme işlemi yapabilirsiniz
    veya
    gelen verileri direk ekrana basıp JavaScript ile düzenleme yapılabilir. Jquery in güzel table tool leri var bu tür işlemler için.
  • 20-02-2020, 15:02:49
    #7
    Merhaba, yardımlarınız için teşekkür ederim. datatable ile sorunumu çözdüm.