lostyazilim
tr.link

Mesajlaşma uygulamasında listeleme sorunu

15 Mesajlar 2.277 Okunma
acebozum
tr.link

redfire38 redfire38 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.05.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Tasarım / Mühendis
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 110
  • Beğeniler 376 / 23
  • Ticaret 1, (%100)

Merhaba,
Aşağıda belirtmiş olduğum resimde;

SenderID (Mesajı Gönderen) kişidir.
ReceiverID (Mesajı Alan) kişidir.



Yapmak istediğim işlem şudur;


Yukardaıki resimde gördüğünüz gib gelen kutusunda 3 tane aynı kişiye ait veri bulunmaktadır. Her kişiye ait 1 tane mesajlaşmayı göstermek istiyorum.

Bunu DISTINCT ile yapıyorum.(Herhangi bir kişiye mesaj attığımda istediğim kadar veya 1 tane mesajı attığım kişiye ait 1 tane isim çıkıyor ve son mesaj gözüküyor) fakat şöyle bir sorun oluyor.Mesajı attığım kişi geri dönüş yaptığında 1 tane daha aynı kişiye ait mesaj listesi çıkıyor bunu nasıl engelleyebilirim ?


$messageSorgu = mysql_query("SELECT DISTINCT SenderID, ReceiverID, Message FROM tablomessages WHERE SenderID='{$UserPrint['ID']}' or ReceiverID='{$UserPrint['ID']}' ORDER BY Time ");
while ($mesajYaz = mysql_fetch_assoc($messageSorgu)){

// Mesajın Gönderildiği kişiyi bulup gerekli bilgilerini alıyoruz.
if($mesajYaz['SenderID'] == $UserPrint['ID']){
$UsersSearch = mysql_query("SELECT * FROM tablousers WHERE ID='{$mesajYaz['ReceiverID']}' ");
$USearchPrint = mysql_fetch_array($UsersSearch);
}else {
$UsersSearch = mysql_query("SELECT * FROM tablousers WHERE ID='{$mesajYaz['SenderID']}' ");
$USearchPrint = mysql_fetch_array($UsersSearch);
}
?>



ÖRNEK FACEBOOK GELEN KUTUSU;






 

 

elektronikssl
webimgo

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)
Group by

where mesajialanuser_id = 'x' group by mesaji_gonderen_user_id, sonmesaj_tarih DESC
redfire38

kişi bu mesajı beğendi.

>/dev/null 2>&1

redfire38 redfire38 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.05.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Tasarım / Mühendis
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 110
  • Beğeniler 376 / 23
  • Ticaret 1, (%100)
Onu denedim hocam olmadı tam olarak ne şekilde yapmalıyım ?
 

 

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)
Ne demek ne şekilde yapayım sorunun tam cevabını yazdım işte. Nokta atışı daha ne istiyorsun? :)
 

 

>/dev/null 2>&1
wmaraci
wmaraci

redfire38 redfire38 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.05.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Tasarım / Mühendis
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 110
  • Beğeniler 376 / 23
  • Ticaret 1, (%100)
Hala sorun devam etmektedir. :/

Kafamda halen mantığını kuramadım :(

Ek Olarak: Hâlen yapabilmiş değilim .
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Sorun : Sadece bir kişiye ait son atılan mesajımı görmek istiyorsunz?
Cevap :LIMIT kullanınız.

SELECT * FROM Tablonuz ORDER BY id DESC LIMIT 1;
redfire38

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

redfire38 redfire38 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.05.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Tasarım / Mühendis
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 110
  • Beğeniler 376 / 23
  • Ticaret 1, (%100)
Istediğim şey bıu değil Benim yapmak isteiğimi yapmak isteyen biri daha açmış konuyu

http://forum.ceviz.net/t/php-mesaj-listeleme-mantigi-sorunu.122337/

Ek Olarak: hocam , şöyle örnek veriyim
SEN BİRİNE MESAJ ATTIĞINDA ATILAN MESAJ BU ŞEKİL DE GÖZÜKECEK VEYA SANA BİRİ MESAJ ATTIGINDADA AYNI ŞEKİLDE GÖZÜKMESİNİ İSTİYORUM

 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
1 kullanıcı ile iletişime geçmiş N tane kullanıcı olabilir.

listede kişileri göstermek için : Group By kullanınız.

pseudo;

query = select senderId from kullanicilar where recevierId = 1 group by senderId order by senderId desc

query'den dönen listesi while/for loop ile don

loop içinde (senderId listesi -> query'den gelen)

SELECT * FROM mesajTablonuz where receiverId=1 and senderId = {querySenderId} ORDER BY id DESC LIMIT 1;
//kişinin gönderdiği son mesaj..

loop end
redfire38

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

redfire38 redfire38 Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.05.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Web Tasarım / Mühendis
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 110
  • Beğeniler 376 / 23
  • Ticaret 1, (%100)


Mesajlar Tablosunun Tamamı;








Yukarıda Kırmızı İle Berlitiğim Yerin Tamamı ve PHP kodu



KULLANICILAR TABLOSU;






$messageSorgu = mysql_query("SELECT SenderID FROM xad_messages WHERE ReceiverID = '{$UserPrint['ID']}' group by SenderID order by SenderID desc ");

while ($mesajYaz = mysql_fetch_assoc($messageSorgu)){

?>




Az Önce







Ek Olarak: Tam olarak ne yapmalıyım ?
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
redfire sadece sorulan soru bazında bir yönlendirme yapılabilir. Yönlendirmelere göre kendi sistemini geliştirme işi senindir :)

Sen oturup, senin kurguladığın sisteme göre, sana kod yazılmasını bekliyorsun.

yardım edeceklere saygım sonsuz lakin bu tür yardımlaşma yaklaşımı bana göre değil. Bu yardımlaşmaya değil, spesifik danışmanlık oluyor :)

Kolay gelsin,

keyifli kodlamalar, iyi çalışmalar,
redfire38

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
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