edit: Arkadaşlar sorunu çözdüm, şu sorgu sayesinde:
SELECT pm.* FROM pm JOIN (SELECT MAX(id) AS id_pm FROM pm WHERE pm_to={$session['id']} GROUP BY pm_from) DT1 ON DT1.id_pm = pm.id ORDER BY id DESC

Konuyu açtıktan dakikalar sonra çözdüm :laugh:

Merhaba arkadaşlar, Sinan abi konuya lütfen :D

Mesajlaşma sistemininde olduğu bir script yazıyorum fakat mesajların bulunduğu sayfada bir problem yaşıyorum. Amaç: mesajlar.php sayfasında konuşmalar olacak, herhangi bir konuşmaya tıklandığı zaman o konuşmadaki mesajları içeren chat sayfasına gidecek. Ancak konuşmaların bulunduğu sayfada şöyle bir problem yaşıyorum; while ile mevcut session id'sine gelen tüm mesajları while döngüsü ile listeliyorum fakat şöyle bir görüntü oluyor:

substr(Mesaj içeriği) - Ahmet (en yeni)
substr(Mesaj içeriği) - Ahmet (yeni ya da eski)
substr(Mesaj içeriği) - Ahmet (yeni ya da eski)

substr(Mesaj içeriği) - Mehmet (yeni ya da eski)
substr(Mesaj içeriği) - Mehmet (yeni ya da eski)
substr(Mesaj içeriği) - Mehmet (yeni ya da eski)

Bu güzel, kod çalışıyor. :D
Ancak yapmaya çalıştığım şu:

substr(Mesaj içeriği) - Ahmet (en yeni)
substr(Mesaj içeriği) - Mehmet (yeni ya da eski)

Yani göndericiden gelen mesajlar ard arda sıralanmak yerine tek bir gönderici adı altında toplanması gerek, tıklandığı zaman chat sayfasında görüntülenmesi için.

kolonlarım:



SQL sorgum şu şekilde:
SELECT * FROM pm WHERE pm_to={$session['id']} GROUP BY pm_from ORDER BY id DESC

Denediğim yöntem (olmadı):
SELECT * FROM pm JOIN (SELECT pm_from FROM pm GROUP BY pm_from) m ON m.pm_from = pm.pm_from WHERE pm_to={$session['id']} ORDER BY id DESC