Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Generowanie daty dla wybranych komentarzy
Michi
post 4.07.2017, 07:19:51
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 4.07.2017

Ostrzeżenie: (0%)
-----


Witam, postaram się krótko opisać problem, a mianowicie: Mam stronę na której jest powiedzmy około 1000 profili. Każdy z profili ma swoje komentarze z różną datą. To co chciałbym zrobił to napisać kod, który pobrałby mi z każdego profilu 3 ostatnie komentarze, ale tylko takie, których ostatni komentarz nie przekracza daty 2016 roku, a te profile, które mają komentarze z powiedzmy 2017 to je omija, a tamtym dodać + 6 miesięcy powiedzmy tym:
  1. UPDATE `sktest`.`wp_comment` SET `time` = DATE_ADD(`time`, INTERVAL 6 MONTH) WHERE date(`wp_comment`.`time`) BETWEEN "2015-05-01" AND "2016-06-01"

Niestety nie mam pojęcia jak się za to zabrać. Jak z każdego profilu pobrać 3 ostanie komentarze? Ma ktoś może jakąś propozycje? Pomysł?
Komentarze trzymam w tabeli wp_comment, która wygląda tak:


Kolumna whom to ID profilu użytkownika (w wp_users).

Ten post edytował Michi 4.07.2017, 08:09:09
Go to the top of the page
+Quote Post
Puszy
post 4.07.2017, 10:22:09
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Spróbuj tego, testowałem na PG nie na MySQL

  1. SELECT
  2. u.id,
  3. com.id AS comment_id,
  4. com.time AS comment_date
  5. FROM tablica_uzytkownikow u
  6. INNER JOIN sktest.wp_comment com
  7. ON com.whom = u.id
  8. WHERE com.id IN (
  9. SELECT
  10. scom.id
  11. FROM sktest.wp_comment scom
  12. WHERE
  13. scom.whom = u.id
  14. AND scom.action = 'comment'
  15. -- Tutaj dodatkowe WHERE związane z datą
  16. ORDER BY scom.time DESC
  17. LIMIT 3
  18. )
  19. -- Tutaj dodatkowe WHERE związane z filtrowaniem użytkowników
  20. ORDER BY
  21. u.id,
  22. com.time DESC;
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.06.2024 - 22:14