HTML/PHP/AJAX/JS - Zapytanie SQL liczące sumę postów użytkowników o kilku ID
Draco demonicus - 29-05-2016, 00:08 Temat postu: Zapytanie SQL liczące sumę postów użytkowników o kilku ID Jak zrobić zapytanie do bazy, które policzy mi sumę postów użytkowników o podanych przeze mnie ID użytkownika? Albo lepiej policzy sumę postów użytkowników będących w danej grupie.
I jak to zrobić aby wyniki wyświetlało na stronie za pomocą np. PHP (bo chyba to w PHP musiałoby być, prawda?).
Strona mogłaby być jako osobny plik np. posty.php - i na niej wyświetlałoby te wyniki.
Z góry wielkie dzięki za odpowiedź!
pazmat - 01-06-2016, 09:38
Takie zapytanie które liczyło by sumę postów byłoby zbyt powolne. Nie musisz tego robić. W tabeli phpbb_users w którymś tam polu jest już zapisane ile użytkownik napisał postów.
Draco demonicus - 01-06-2016, 12:36
Nie to jest tutaj problemem... przecież o to właśnie chodzi, żeby zliczało tę wartość podaną w phpbb_users...
Tłumacząc to łapatologicznie:
Ma zsumować wartość pola posts wszystkich użytkowników o wartości XYZ pola group_id w tabeli phpbb_users.
Innymi słowy, wszyscy użytkownicy należący do grupy ABC (o id XYZ) mają mieć zsumowane posty i chcę tę wartość otrzymać albo jako kod html, żeby zrobić to w BBCode Managerze, albo jako osobna strona, którą bym zwyczajnie wrzucił na serwer forum.
pazmat - 01-06-2016, 18:19
To na sumę postów wszystkich użytkowników w grupie powinno być takie coś:
Kod: | SELECT SUM(u.user_posts) FROM phpbb_users u
LEFT JOIN phpbb_user_group g ON g.group_id = 3
WHERE u.user_id = g.user_id |
Gdzie zamiast 3 wpisujesz id interesującej cię grupy.
Draco demonicus - 01-06-2016, 21:08
O, dzięki wielkie.
A jak wpisać to w php, żebym mógł te wyniki wyświetlać normalnie na stronie?
I czy jeśli wpisze skrypt php w miejsce na formułę html do BBCode Managera, to zaliczy to? Trzeba coś dodatkowo wtedy wpisać, żeby skrypt wiedział, że w tym html jest kawałek php?
Szukałem w Google "php sql query", ale nie rozumiem nic a nic, co tam jest. Znaczy, coś tam kumam, ale nie za wiele.
kooza - 02-06-2016, 15:35
Draco demonicus napisał/a: | A jak wpisać to w php, żebym mógł te wyniki wyświetlać normalnie na stronie? |
Kod: | $sql = "SELECT SUM(u.user_posts) FROM phpbb_users u
LEFT JOIN phpbb_user_group g ON g.group_id = 3
WHERE u.user_id = g.user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error', '', __LINE__, __FILE__, $sql);
}
$total = $db->sql_fetchrow($result);
$user_posts_group = $total['user_posts']; |
I dodajesz do templatki $user_posts_group
Draco demonicus napisał/a: | I czy jeśli wpisze skrypt php w miejsce na formułę html do BBCode Managera, to zaliczy to? Trzeba coś dodatkowo wtedy wpisać, żeby skrypt wiedział, że w tym html jest kawałek php? |
Nigdy nie miałem styczności z tą modyfikacją ale spróbuj i zobacz.
Draco demonicus - 02-06-2016, 16:48
Do templete w sensie templetes/subBlack/subBlack.cfg?
Wciepłem to przed ?> bezpośrednio, dobrze zrobiłem?
wkleiłem taki kod
Kod: | <?php
$sql = "SELECT SUM(u.user_posts) FROM phpbb_users u
LEFT JOIN phpbb_user_group g ON g.group_id = 3
WHERE u.user_id = g.user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error', '', __LINE__, __FILE__, $sql);
}
$total = $db->sql_fetchrow($result);
$user_posts_group = $total['user_posts'];
?> |
i wywala, że na 5 linijce jest taki błąd:
Kod: | Fatal error: Call to a member function sql_query() on a non-object in /virtual/t/e/terrarpg.ugu.pl/rpg/ile.php on line 5 |
Tak, wiem, pewnie robię coś źle xD
Woytec - 31-07-2016, 15:01
Gdzie chcesz to wyświetlać? Za bbcode odpowiada includes/bbcode.php
Draco demonicus - 31-07-2016, 17:45
Albo w osobnym pliku php, co mam wysłane tutaj:
http://terrarpg.ugu.pl/rpg/ile.php
Kod: | <?php
$sql = "SELECT SUM(u.user_posts) FROM phpbb_users u
LEFT JOIN phpbb_user_group g ON g.group_id = 7
WHERE u.user_id = g.user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error', '', __LINE__, __FILE__, $sql);
}
$total = $db->sql_fetchrow($result);
$user_posts_group = $total['user_posts'];
?> |
oraz tutaj:
http://terrarpg.ugu.pl/rpg/ile2.php
Kod: | <?php
$sql = "SELECT SUM(u.user_posts) FROM phpbb_users u
LEFT JOIN phpbb_user_group g ON g.group_id = 7
WHERE u.user_id = g.user_id";
if ( !($result = mysql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error', '', __LINE__, __FILE__, $sql);
}
$total = $db->sql_fetchrow($result);
$user_posts_group = $total['user_posts'];
?> |
Albo w BBCodzie stworzonym poprzez modyfikację BBCode manager, czyli coś na styl dodawania bbcodów w phpbb3, że wpisujesz kod z tokenami typu {URL} {TEXT} itp w kodzie php i w kodzie wynikowym html.
Ale skupmy się na tych plikach na stronie. Co jest tam nie tak?
|
|
|