1.12.7 i starsze - Zliczanie u?ytkowników obecnych przez ostatnie 24h
pawelooss - 31-03-2009, 22:50
Nie bardzo pasowało mi to rozwiązanie z liczbą userów w nawiasie, więc wplotłem ją w tekst, co dało:
Kod: | Przez ostatnie xx godziny na forum było x użytkowników: |
Wklejam zmodyfikowaną instrukcję, gdyby ktoś też tak chciał zrobić.
Kod: | #
#-----[ OPEN ]----------
#
index.php
#
#-----[ FIND ]----------
#
$sql = "SELECT user_id, username, user_level, user_jr, user_session_time, user_allow_viewonline
FROM " . USERS_TABLE . "
WHERE user_id > 0
AND user_session_time >= $time_to_show
ORDER BY user_level = 1 DESC, user_jr DESC, user_level = 2 DESC, user_level = 0 DESC, username";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER ADD ]----------
#
$user_day_quantity = $db->sql_numrows($result);
#
#-----[ FIND ]----------
#
'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' ' . $day_userlist : '',
#
#-----[ REPLACE WITH ]----------
#
'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' ' . $user_day_quantity . ' ' . $lang['Day_users2'] . $day_userlist : '',
#
#-----[ OPEN ]----------
#
language/lang_polish/lang_main.php
#
#-----[ FIND ]----------
#
$lang['Day_users'] = 'Przez ostatnie %s godziny byli na forum:';
#
#-----[ REPLACE WITH ]----------
#
$lang['Day_users'] = 'Przez ostatnie %s godziny na forum było';
#
#-----[ AFTER ADD ]----------
#
$lang['Day_users2'] = 'użytkowników: '; |
oxygen - 21-04-2009, 11:13
Prościej zrobiłem od pawelooss
Podstawowa instrukcja z pierwszego postu tylko zamiast tego
Kod: |
'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' ' . $day_userlist : '', |
wklejamy to
Kod: | 'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' -><B>' . $ile . '</B><- użytkowników : ' . $day_userlist : '', |
rezultat Przez ostatnie 24 godziny byli na forum: ->XX<- użytkowników :
gdzie liczba jest pogrubiona pasująca do stylu statystyk
Podgląd demo www.skuter4t.net
korownik - 10-07-2009, 16:10
Witam mam problem
pokazuje się mi sam nawias bez liczby ( )
w załączniku daje mój index
proszę o pomoc z góry thx
[ Dodano: 10-07-2009, 17:12 ]
mój index
warna - 10-07-2009, 17:09
Przeczytałeś instrukcję w ogóle?
Znajdź
Kod: | 'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' (' . $db->sql_numrows($result) . ') ' . $day_userlist : '', |
zamień na
Kod: | 'USERS_OF_THE_DAY_LIST' => ($board_config['u_o_t_d'] && $userdata['u_o_t_d']) ? sprintf($lang['Day_users'], $board_config['last_visitors_time']) . ' (' . $ile . ') ' . $day_userlist : '', |
tymek - 25-10-2009, 11:17
Ktoś wie, co zrobić, aby te statystyki wygladały tak, jak statystyki aktualnie online na forum?
Czyli:
przez ostatnich 24 godzin na forum bylo: xxx (wszystkich razem), uzytkoników: xxx, gości: xxx
??
arehiba - 28-11-2010, 09:06
wgrałem tego moda i dlaczego mi się robi:
Przez ostatnie 24 godziny byli na forum: ()
?
Pavelx2 - 05-12-2010, 18:15
Mi wyskakuje taki błąd:
Warning: mysql_num_rows(): 25 is not a valid MySQL result resource in /homepages/23/d341321355/htdocs/db/mysql4.php on line 176
Załączam plik index, proszę zróbcie mi to !
Jagus1920 - 05-08-2011, 10:44
Gdzie ten kod wkleić ?
Matteo - 16-09-2011, 18:24
Jagus1920, Cytat: | Kod: | #
#-----[ OPEN ]----------
#
index.php |
|
Justus - 15-12-2011, 22:52
tymek napisał/a: | Ktoś wie, co zrobić, aby te statystyki wygladały tak, jak statystyki aktualnie online na forum?
Czyli:
przez ostatnich 24 godzin na forum bylo: xxx (wszystkich razem), uzytkoników: xxx, gości: xxx
?? |
Dołączam się do prośby, czy jest możliwość dodatkowego wyświetlania ilu gości odwiedziło nasze forum ?.
Azuel - 02-01-2013, 13:00
Witam serdecznie.
Mam pytanko, czy idzie jakoś połączyć kod z instrukcji tj:
Kod: | $sql = "SELECT user_id, username, user_level, user_jr, user_session_time, user_allow_viewonline
FROM " . USERS_TABLE . "
WHERE user_id > 0
AND user_session_time >= $time_to_show
ORDER BY user_level = 1 DESC, user_jr DESC, user_level = 2 DESC, user_level = 0 DESC, username".$last_visitors_limit;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
} |
z kodem który sortuje nazwy użytkowników według pierwszeństwa grup tj:
Kod: | $sql = "SELECT a.user_id, a.username, a.user_level, a.user_jr, a.user_session_time, a.user_allow_viewonline, b.user_id, b.group_id, c.group_id, c.group_order
FROM " . USERS_TABLE . " a JOIN " . USER_GROUP_TABLE . " b JOIN " . GROUPS_TABLE . " c ON a.user_id=b.user_id
WHERE a.user_id > 0
AND b.group_id=c.group_id
AND c.group_order > 0
AND user_session_time >= $time_to_show " . $sql_fields . "
ORDER BY c.group_order
" . $last_visitors_limit;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
} |
Cały czas kombinuje jak by to zrobić ale za cienki jestem chyba potrzebuje zrobić tak żeby i sortowało odpowiednio, i pokazywało poprawne zliczanie.
Gdy znowu jest normalnie kod który posiadam na sortowanie według grup, to licznik zlicza każdego użytkownika podwójnie.
Prosiłbym o pomoc ewentualnie jakieś rady jak to połączyć razem
Pozdrawiam.
kooza - 03-01-2013, 23:05
Kod: | $sql = "SELECT a.user_id, a.username, a.user_level, a.user_jr, a.user_session_time, a.user_allow_viewonline, b.user_id, b.group_id, c.group_id, c.group_order
FROM " . USERS_TABLE . " a JOIN " . USER_GROUP_TABLE . " b JOIN " . GROUPS_TABLE . " c ON a.user_id=b.user_id
WHERE a.user_id > 0
AND b.group_id=c.group_id
AND c.group_order > 0
AND user_session_time >= $time_to_show " . $sql_fields . "
ORDER BY c.group_order
" . $last_visitors_limit;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}
$ile = $db->sql_numrows($result); |
Azuel - 03-01-2013, 23:18
Przecież to mi nie pomaga.
Czy do obu kodów które podałem w poprzednim poście muszę dodać
Kod: | $ile = $db->sql_numrows($result); |
żeby ktoś zrozumiał że tak też mam w pliku index.php i że nie pominąłem tej części instalacji?
Pierwszy kod jest z instrukcji na zliczanie,
Drugi kod jest z modyfikacji po której wszystkie osoby sortuje według grup.
@ Kooza wybacz ale nie pomogła mi Twoja opcja bo to jest nadal drugi kod który podałem oraz na samym końcu też widniała linijka którą podałeś, tak przy jednym kodzie jak i drugim.
Problem w tym że pierwszy kod zlicza poprawnie ale grup nie sortuje a drugi kod na odwrót dlatego pytam czy jest możliwośc żeby mi ktoś pomógł je połączyć razem aby oddawały na forum obie funkcje.
Pozdrawiam.
MQs - 04-01-2013, 03:10
Azuel, Wyczyść cache i powinno działać. Samo zapytanie nie jest istotne, aby zwracało użytkowników (obojętnie w jakiej kolejności) - wstawiony kod ich policzy.
Kod: | $ile = $db->sql_numrows($result); | To jest praktycznie cała modyfikacja - reszta to wywalenie wyniku na ekran.
Azuel - 07-01-2013, 00:50
Wyczyściłem cache ręcznie z FTP prócz .htaccess oraz próbowałem czyścić przez PA, nic to nie dało.
Nadal zlicza podwójnie tych użytkowników i pokazuje dwukrotnie większą liczbę.
Raczej wszystko dobrze zrobiłem i pomyłek nie ma w index.php ale nie twierdzę że nie może się gryźć z czymś.
Załączam pliczek
Pozdrawiam.
|
|
|