• 15-02-2020, 15:49:38
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    SELECT * FROM servis_kayit JOIN servis_icerik ON servis_kayit.id=servis_icerik.servis_kayit_id JOIN urun ON servis_icerik.urun_id=urun.id WHERE servis_kayit.musteri_id=14 GROUP BY servis_kayit.teslim_tarih
    şeklinde bir sorgum var. sorgunun phpmyadmin deki görüntüsü ise


    şeklinde.

    buraya kadar herşey normal bir şekilde çalışıyor.

    <?
    if(empty($_GET['ad'] )) {
    
    echo "Önce Müşteri gerekli";
    } else {
    $sql = "SELECT * FROM servis_kayit JOIN servis_icerik ON servis_kayit.id=servis_icerik.servis_kayit_id JOIN urun ON servis_icerik.urun_id=urun.id WHERE servis_kayit.musteri_id='$q8' ";
    }
    
    $result = $link->query($sql);
    
    $sonucsayisi = $result->num_rows;
    if ($sonucsayisi > 0) { // sonuç varsa
    echo "<h3 align='center'>SERVİS KAYITLARI</H3>";
    ?>
    
    <table class="table table-striped table-hover table-bordered">
    <thead>
    <tr>
    <th>Servise Geliş Tarihi</th>
    <th>Teslim Tarihi</th>
    <th>Yapılan İşlem</th>
    </tr>
    </thead>
    <tbody>
    <?php while($row2 = $result->fetch_assoc()){ ?>
    <tr>
    <td><? echo tarihDuzenle($row2['alis_tarih']); ?></td>
    <td><? echo tarihDuzenle($row2['teslim_tarih']); ?></td>
    <td><? echo $row2['marka'];?> <? echo $row2['urun_adi'];?> <? echo $row2['miktar'];?></td>
    </tr>
    <?php } ?>
    </tbody>
                 </table>
    şeklinde ise php kodlarım bulunmakta.

    bunun sonucu ise:


    yalnız buradaki çözemediğim sorun şu. tarihler tekrar etmeden tek tarih yanında yapılan işlemlerin görünmesi.

    bunu nasıl çözerim?
  • 15-02-2020, 16:00:44
    #2
    Group By ile tarihe göre gruplayabilirsiniz.
    Gerçi sorunuzu tam olarak anlamadım, siz DB den sadece bir tarihte gerçekleşen olayları mı çekmek istiyorsunuz yoksa DOM a basarken aynı tarihte olanları gruplayarak göstermesini mi ?
  • 15-02-2020, 16:09:21
    #3
    group by ile yaptığımda tek satır bir sonuç veriyor.

    kabaca şunu yapmaya çalışıyorum,

    tarih tek satır ama diğer bağladığım tablodan 3 satır (duruma göre daha fazla veya daha az) veri geliyor. while ile çekiyorum (ki belki hata oradadır) haliyle diğer tablodan 3 sonuç gelince tarihide 3 kere basıyor. ben tarihi tek bassın diğer tablodan kaç tane geliyorsa alt alta onları yazsın şeklinde



    Aslında kabaca sonucun aşağıdaki şekilde gelmesini istiyorum

    kaç satır veri gelecekse gelsin tarihler sadece 1 kere gelsin yapılan işlemden gelen satır kaç satırsa o kadar gelsin gibi