• 27-05-2019, 16:27:01
    #1
    arkadaşlar selamlar. bir adet eğitimleri içerek tablom var. ben eğitimleri tarihe göre listeleme yapıyorum. ancak aynı eğitimden farklı tarihlerde de yapılıyor. ben aynı satıra tarih1, tarih2, tarih3 şeklinde alanları açıp aynı eğitim için 3 tarih belirlesem. Bu eğitimleri tarihlerine göre tablo şeklinde listeyebilir miyim.

    yani sisteme aynı eğtitimleri tekrar tekrar girmek yerine tek satırda 3 adet tarihlerini belirleyeceğim ve o tarihlere göre de listeleme yapacağım. bu mümkün müdür.
  • 27-05-2019, 16:41:14
    #2
    INNER JOIN kullanımını araştır hocam.
  • 27-05-2019, 16:43:27
    #3
    BND
    Üyeliği durduruldu
    Group ile şöyle:

    SELECT count(*), tarih, etkinlik, aliveli
    FROM tablom
    GROUP BY tarih
    HAVING COUNT(*) > 0 ORDER BY id ASC


    ORDER'dan önce isterseniz Where ile arama/sıralama da yaptırılabilir.
  • 27-05-2019, 16:48:39
    #4
    tablo nu yanlış kurgulamışşsın bence tabloyu bölmelisin hız ve teknik açıdan bu daha doğru

    once eğitimler tablon olmalı
    egitimler
    id, egitim_adi
    1,' a egitimi'

    sonra bir de eigitm tarihleri tablon
    egitim_tarihleri
    id, egitim__id, tarih1, tarih2, tarih3
    1,'1','ocak','subat'',mart'

    şimdi oncelikle egitimleri tasrihlerini listeleyip gelen verilere gore eğitimleri data olarak çekebilirsin

    <?php $q=select * from egitim_tarihleri order by id; // tüm veriler geldi ?>
    <?php
    $function egitimgetir($id) {
    $x=select* from egitimler where id=$id;
    return $x->egitim_adi;
    } // egitim getir nesnesi hazır
    ?>

    goruntu tablosu şöyle olmalı

    <table>
    <tr>
    <td>$this->egitimgetir($q->egitim_id) </td> //burada egitimgetir nesnesine egitimid si gonderip veri getiriyoruz
    <td>$q->tarih1</td>
    <td>$q->tarih2</td>
    <td>$q->tarih3</td>

    direkt yazdım bir derleyici yada duzenleyicim yok bilgisayarda syntax error verebilir ama mantık boyle olacak