![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 18.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
Chciałem usprawnić swoje forum (phpbb by przemo) o modyfikację pokazującą użytkowników, którzy napisali najwięcej postów od określonej daty... W mysqlu jestem początkującym i wymodziłem takie coś: Kod <? ŁĄCZĘ SIĘ Z BAZĄ $wynik = mysql_query("SELECT COUNT(poster_id) AS ile,poster_id,post_time FROM forum_posts GROUP BY poster_id ORDER BY ile DESC"); while($r = mysql_fetch_assoc($wynik)) { $czas = $r['post_time']; if($czas>1243792800) { $much = mysql_query("SELECT * FROM forum_users WHERE user_id=".$r['poster_id'].""); $ikus = mysql_fetch_array($much); echo "<a href=\"profile.php?mode=viewprofile&u=".$r['poster_id'].".html\">".$ikus['username']."</a> - ".$r['ile']."<br>"; } } ?> Najpierw policzyłem kto ma najwięcej postów i chcę to wyświetlić malejąco, ale od 1 czerwca... Dlatego dodałem ten fragment kodu: Kod $czas = $r['post_time']; if($czas>1243792800) { 1243792800 to 1 czerwca 2009r. i chce żeby pokazywała się klasyfikacja posterów od tego czasu, i pokazuje się co prawda, ale są to użytkownicy, którzy dołączyli do forum właśnie po tym czasie... Nie wiem jak to zmienić, proszę o pomoc ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Możesz to zrobić bezpośrednio na poziomie bazy danych, bez ingerowania w kod PHP. Zmień swoje zapytanie na:
Dodatkowo zastosowałem tu funkcję UNIX_TIMESTAMP aby przyjemniej operować na datach. Ten post edytował phpion 21.06.2009, 17:52:14 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:31 |