![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 25.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Umieściłem już tutaj na forum podobny temat w dziale MySQL ( Temat: PHP SQL Powiadomienia jak na facebooku )
Jednak z nikąd pomocy.. Postanowiłem zapytanie poprostu zgrupować i w PHP jakoś to obsłużyć.. Pytanie: jak?
mam zbite powiadomienia i nie wiem za bardzo jak je obsłużyć? Dodać do SQL 'COUNT' i dla każdego osobno wywołać kolejne "query" i na jego podstawie budować powiadomienie? Chce powiedzieć że chce uzyskać coś takiego: "User1,User2 oraz User3 dodali komentarz do twojego wpisu".. Może któryś z was "PHPowców" mi pomoże (IMG:style_emoticons/default/wink.gif) bo w tamtym dziale nie uzyskam raczej pomocy (IMG:style_emoticons/default/smile.gif) P.s. chciałbym ograniczyć ilość połączeń a powyższy pomysł z COUNT do takich raczej nie należy ;x |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 12 Dołączył: 4.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
... ale na liście muszą się pojawić jeszcze posortowane "czasowo" od najnowszego do najstarszego (ograniczam wyniki czasowo więc tablica nie urośnie ogromna).. jak posortować to w tych tablicach? ;> W momencie gdy tworzysz treści powiadomień z wielu wpisów (w tym potrójnym foreach), musisz ustalić dodatkowy parametr "czas" i go zapisywać razem z już zgrupowanym powiadomieniem. Musisz wybrać czy czasem powiadomienia będzie czas kiedy pierwsza osoba dodała komentarz, czy też gdy ostatnia. Jeśli np. ważne jest pierwsza to nadpisujesz czas gdy jest wcześniejszy niż obecnie zapisany dla powiadomienia
I teraz jak chcesz wyświetlić powiadomienia od najstarszego do najmłodszego to:
KILKA UWAG: - Tworzę osobną tablicę $sortowaniepoczasie, zamiast zapisywać czas w $pogrupowanepowiadomienia, bo jesli będziesz chciał jeszcze po czymś innym sortować, to wtedy poprostu dodajesz kolejną tablice analogicznie do tej z czasami. Jeśli nie chcesz, to czasy możesz zapisywać jako klucze w $pogrupowanepowiadomienia. - Zwróć uwagę na dodatkowe (ostatnie) nawiasy w linii: $sortowaniepoczasie[$komunikat_tmp['czas']][] - są po to, że dla jednego czasu może pojawić się kilka powiadomień, więc bez nich mógłbyś trzymać pod tym czasem tylko jedno, ostatnio dodane. - Troszkę pogmatwany ten kod wyszedł i pewnie przydałaby mu się jakaś optymalizacja... (IMG:style_emoticons/default/smile.gif) Mam nadzieję, że nic nie pokręciłem i jakoś to ogarniesz. Ten post edytował aachi 30.08.2012, 10:25:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 03:57 |