lostyazilim
tr.link

Aynı değerdeki veriyi tek sefer göstermek

8 Mesajlar 812 Okunma
acebozum
tr.link

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
Merhaba arkadaşlar,
PHP Gelen kutusu yapıyorum. Birisi diğerine birden fazla mesaj gönderince hepsi tek tek listeleniyor. Ben bunun bir sefer yenilenmesini istiyorum. Nasıl yapabilirim?
 

 

elektronikssl
webimgo

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)
$gönderen=0;
$adet=0;
if($gönderen>0)gösterme;
else {göter;$gönderen++;$adet++;}
echo $gönderen."den".$adet."adet mesaj";
 

 

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
colakonline hocam onlar veritabanında id'ye göre kayıtlı.onlar birden fazla olduğunda nasıl bulacağım?

ör:
gönderen_id=1 alıcı_id=2 mesaj=asddsfsdgg saat=12.00
gönderen_id=1 alıcı_id=2 mesaj=asddsfsdgg saat=15.34

Burada 2. kullanıcıya 1. kullanıcı 2 kez mesaj göndermiş. Ben bunun son gönderdiği mesajı göstermek istiyorum.
 

 

47003 47003 WM Aracı Anonim Üyelik
  • Üyelik 12.03.2015
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 576
  • Beğeniler 46 / 205
  • Ticaret 16, (%100)
GROUP BY user_id kullanmayı dene istersen.
 

 

wmaraci
wmaraci

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
Winston hocam öyle yaptığımda sıralamayı nasıl yapacağım daha doğrusu aincrement id'ye göre.
ORDER BY id DESC yaptığımda veri yok diyor
 

 

47003 47003 WM Aracı Anonim Üyelik
  • Üyelik 12.03.2015
  • Yaş/Cinsiyet - /
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 576
  • Beğeniler 46 / 205
  • Ticaret 16, (%100)

SELECT * FROM (SELECT m.id, m.s_id, m.r_id, i.id as i_id, i.u_id, i.m_id, i.adddate, i.message FROM messages as m, messages_items as i, users as u WHERE (m.s_id=$users->id or m.r_id=$users->id) and i.m_id=m.id and u.id=i.u_id ORDER BY i.id DESC) as tmp GROUP BY m_id ORDER BY i_id DESC


Ben bu tarz bir kod kullanıyorum.
Verileri 2 kere süzgeçten geçirmiş oluyorsun.
 

 

emreorhan emreorhan WM Aracı Kullanıcı
  • Üyelik 27.12.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad E** O**
  • Mesajlar 384
  • Beğeniler 35 / 29
  • Ticaret 3, (%67)
Winston hocam çok karmaşık anlayamadım. alıcı gönderen olarak yazar mısınız?
 

 

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)

emreorhan adlı üyeden alıntı

Winston hocam öyle yaptığımda sıralamayı nasıl yapacağım daha doğrusu aincrement id'ye göre.
ORDER BY id DESC yaptığımda veri yok diyor


usta o zaman soye yapıcaksın
SELECT * FROM tablo_adi WHERE okundu='0' GROP BY gonderen

Ek Olarak: gelen mesajları alcaksın group by ile tek satır cekiceksin yani ksıaca okunmamıs mesajları gönderen kişiye göre 1 kere cekiceksin
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al