Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Generowanie daty dla wybranych komentarzy
Forum PHP.pl > Forum > Przedszkole
Michi
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).
Puszy
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;
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.