![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Problem wyglada następująco otóż mam 2 tabele w bazie jedna z komentarzami a druga z newsami... Kod Komentarze: |Cid|cnid|... Gdzie CID to id komentarza a cnid to id newsa w którym ma sie wyświetlać. Problem polega na tym że nie mogę wpaść na pomysł jak poprawnie wyświetlić ilość komentarzy przy każdym newsie. Mógł by mnie ktoś jakoś ukierunkować? Pozdrawiam ! ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Problem ma się do php jak czajnik do ksiezyca
![]()
Lepiej jakbys jednak zrobil dodatkowe pole w newsach, w ktorym na biezacą bedziesz zapisywal liczbe komentarzy dla danego newsa. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 13 Dołączył: 12.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Lepiej jakbys jednak zrobil dodatkowe pole w newsach, w ktorym na biezacą bedziesz zapisywal liczbe komentarzy dla danego newsa. Dużo lepiej. Przy dużych ilościach komentarzy i newsów zapytanie wyżej po prostu nie da rady. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 4.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak by to wg. was miało wyglądać ?
Bo nie wiem zbytnio w jaki sposób zrobić zliczanie tego. |
|
|
![]()
Post
#5
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Dodajesz pole 'ilosc_komentarzy' i w każdym newsie to pole inkrementujesz po dodaniu komentarza/dekrementujesz po jego usunięciu.
-------------------- Life's simple... You make choices and don't look back...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT n.*, count(c.ID) commentscount FROM news nLEFT JOIN comments c ON c.cnid=n.id GROUP BY n.id Zrobiłem sobie dla zabawy takie porównanie. Kod SELECT SQL_NO_CACHE n.ID, count(c.ID) commentscount FROM news n LEFT JOIN comments c ON c.cnid=n.id GROUP BY n.id 7756 rows fetched in 3.7738s (2.6421s) Kod SELECT SQL_NO_CACHE n.ID, c. commentscount FROM news n LEFT JOIN ( SELECT cnid, COUNT(*) AS commentscount FROM comments GROUP BY cnid) AS c ON c.cnid=n.id 7756 rows fetched in 3.1093s (0.4406s) ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:22 |