![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 31.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
mam taką bazę
id_wiadomosci id_watku data id_nadawcy id_odbiorcy status_nadawcy status_odbiorcy tresc chcę zrobić wiadomości prywatne ale żeby były grupowane w wątkach, tu zabrakło mi logicznego myślenia chciałbym, żeby user #1 wchodził na stronę wiadomości i widział wiadomości od użytkowników z którymi pisał lub które otrzymał od innych, z góry na dół od najnowszej tak jak jest np w smsach w iphonie, później wybiera dany wątek danego usera i widzi cała historię korespondencji z danym userem od najnowszej do najstarszej... widzę okiem wyobraźni jak to ma działać ale nie wiem jak o to zapytać aby konstruktywnie odpowiedziała mi baza danych za łopatologiczne wskazówki, podpowiedzi byłbym baardzo wdzięczny! proszę o pomoc! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Możesz próbować zrobić JOIN ale niestety nie jest to łatwe aby dołączyć najnowszy wpis (nie można posortować przed joinem).
Możesz spróbować zrobić subzapytanie z MAX ale też nie wiem czy działa na datach, a też nie wyciągnie treści wiadomości. 1) pobierasz wszystkie konwersacje, a potem już w PHP w pętli pobierasz do każdej ostatnią wiadomość albo 2) dodaje kolumnę ostatnia_wiadomosc i data_ostatnia_wiadomosc. Pierwszy sposób unika dublowania danych ale generuje dużo zapytań (ewentualnie można to zmienić w jedno z IN ale wtedy znów więcej roboty w PHP). Drugi jest prosty ale też niezbyt ładny. Musisz jeszcze pomyśleć o fladze czy przeczytane, czy usunięte, liczbie nieprzeczytanych wiadomości (nowe wiadomości). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 16:48 |