PDA

Orijinalini görmek için tıklayınız : mysql aynı satırı tekrar çekmek


stbolen
27-05-2019, 16:27:01
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.

aliosmanyuksel
27-05-2019, 16:41:14
INNER JOIN kullanımını araştır hocam.

BND
27-05-2019, 16:43:27
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.

bagimsiz
27-05-2019, 16:48:39
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