Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] Grupowanie wedlug daty
Forum PHP.pl > Forum > Przedszkole
Gość
Witam, mimo poszukiwan nie znalazlem rozwiazania dla mojego problemu.

Zapytanie:
  1. $queryNotice=mysql_query("SELECT a.*,b.small,c.vip FROM notices a
  2. LEFT JOIN avatars b ON a.idUserNot=b.idUser
  3. LEFT JOIN profiles c ON a.idUserNot=c.idUser
  4. WHERE a.readNotice=0 AND a.idUserYourNot='$userId' GROUP BY a.timeNot DESC");


timeNot to pole DATETIME i chce pogrupowac wyniki z tabeli notice w taki sposob:

2013.09.07
rekord 1
rekord 2

2013.08.07
rekord 1
rekord 2
rekord 3

itp.

Probowalem GROUP BY DATA(a.timeNot) DESC a takze z COUNT ale nic mi nie dziala. Z gory dzieki za pomoc
nospor
Musisz dane obrobic w php
Tu masz opisane na kilku przykladach jak:
http://nospor.pl/grupowanie-wynikow.html
Gość
Ta Twoja strone juz widzialem, troche mi takie rozwiazanie nie odpowiada, nie da sie pogrupowac tego w zapytaniu? W twoim rozwiazaniu sa az 3 petle...
nospor
1) Nie w zapytaniu sa 3 petle tylko w kodzie php
2) Co z tego ze sa 3 petle w kodzie?
3) Sa 3 petle w kodzie bo najpierw pobieram wyniki do tablicy a dopiero potem to wyswietlam. Ty mozesz od razu to wyswietlac i wowczas bedziesz mial tylko jedna glowna petle pobierajaca dane z bazy - do wyboru do koloru
4) Nie, nie da sie tego zrobic tylko i wylacznie w mysql
Gość
Napisalem ze w Twoim rozwiazaniu sa 3 petle a nie w zapytaniu...
Chodzilo mi o to ze to troche skomplikowane jak dla mnie z tymi tablicami, nie wiem i tak jak to zastosowac u siebie. Skoro nie ma prostszego rozwiazania to sobie odpuszcze i normalnie to wyswietle. Dzieki.
nospor
Cytat
Napisalem ze w Twoim rozwiazaniu sa 3 petle a nie w zapytaniu...
Fakt, za szybko przeczytalem

Cytat
Skoro nie ma prostszego rozwiazania to sobie odpuszcze i normalnie to wyswietle. Dzieki.
A ja zas skolei napisalem:
Sa 3 petle w kodzie bo najpierw pobieram wyniki do tablicy a dopiero potem to wyswietlam. Ty mozesz od razu to wyswietlac i wowczas bedziesz mial tylko jedna glowna petle pobierajaca dane z bazy - do wyboru do koloru

Wiec jest prostsze rozwiazanie.
Gość
nooo... tylko ze nie mam pojecia jak to wyswietlic nawet w jednej petli zeby mi tak pogrupowalo:/
nospor
No ale odpowiedz masz niejako w moim temacie... musisz napisac zapytanie, ktore wlasciwie sortuje - no to juz masz podane w temacie.
No i dalej zamiast budowac tablice jak ja to robie, to poprostu wyswietlaj daty gdy jeszcze nie bylo danej daty
Gość
no ale jak sprawdzic czy dana data juz wystepowala? mam chyba dzisiaj jakas pustke w glowie:/ Twoj temat mi nic nie mi nic nie mowi...
Gość
Ma ktos jakies pomysly? Siedze nad tym chyba od 11 rano:/
nospor
Cytat
no ale jak sprawdzic czy dana data juz wystepowala?
Zapisuj w zmiennej aktualnie przetwarzana date. Bedziesz wiedzial czy sie zmienila czy nie.
Gość
ech tyle to ja wiem ale nie wiem jak to zrobic, podaj przyklad jak to zrobic bo jesli zapisze aktualna date do zmiennej to z czym ja mam niby porownac?
nospor
Cytat
podaj przyklad
Uczyl Cie ktos kiedys takiego jednego magicznego slowa?

Cytat
bo jesli zapisze aktualna date do zmiennej to z czym ja mam niby porownac?

Skoro nie chcesz uzywac magicznego slowa to chociaz uzyj tego czegos miedzy uszami wink.gif
W zmiennej masz trzymac date z poprzedniej iteracji. A w aktualnej iteracji masz porownywac date ze zmiennej z wartoscia aktualnej iteracji. W ten sposob bedziesz wiedzial czy sie data zmienila czy nie.
Gość
Mam tylko prosic czy moze jeszcze blagac o pomoc? No nic skoro nikt nie chce pomoc to koniec tematu, bede to wyswietlal zupelnie inaczej. Narka
nospor
Nie kazalem ci blagac a jedynie zwrocic uwage, ze nie jestem twoim niewolnikiem i jak czegos potrzebujesz to wypadaloby napisac np. tak:
podaj prosze przyklad
a nie
podaj przyklad

Co do pomocy to w kazdym poscie tutaj ją dostajesz ale Ty jestes totalnym leniem i oczekujesz jedynie gotowca. Twoja sprawa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.