phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Zapytanie SQL liczące sumę postów użytkowników o kilku ID
Autor Wiadomość
Draco demonicus


Posty: 93
Wysłany: 29-05-2016, 01:08   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ź!
_________________
Avek jest mojego autorstwa. Zastrzegam sobie prawo do jego kopiowania, przerabiania i posiadania. Niestosowanie się do tego oznacza kradzież.
 
     
Gadatliwa Kasia 

   
pazmat

Pomógł: 9 razy
Posty: 90
Wysłany: 01-06-2016, 10: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


Posty: 93
Wysłany: 01-06-2016, 13: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.
_________________
Avek jest mojego autorstwa. Zastrzegam sobie prawo do jego kopiowania, przerabiania i posiadania. Niestosowanie się do tego oznacza kradzież.
 
     
pazmat

Pomógł: 9 razy
Posty: 90
Wysłany: 01-06-2016, 19: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


Posty: 93
Wysłany: 01-06-2016, 22: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.
_________________
Avek jest mojego autorstwa. Zastrzegam sobie prawo do jego kopiowania, przerabiania i posiadania. Niestosowanie się do tego oznacza kradzież.
 
     
kooza


Pomógł: 486 razy
Posty: 2401
Wysłany: 02-06-2016, 16: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


Posty: 93
Wysłany: 02-06-2016, 17: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
_________________
Avek jest mojego autorstwa. Zastrzegam sobie prawo do jego kopiowania, przerabiania i posiadania. Niestosowanie się do tego oznacza kradzież.
 
     
Woytec


Pomógł: 2596 razy
Posty: 7667
Wysłany: 31-07-2016, 16:01   

Gdzie chcesz to wyświetlać? Za bbcode odpowiada includes/bbcode.php
 
     
Gadatliwa Kasia 

   
Draco demonicus


Posty: 93
Wysłany: 31-07-2016, 18: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?
_________________
Avek jest mojego autorstwa. Zastrzegam sobie prawo do jego kopiowania, przerabiania i posiadania. Niestosowanie się do tego oznacza kradzież.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,03 sekundy. Zapytań do SQL: 11
Polecane serwisy



Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

mediaclick.pl

pozycjonowanie

agencja SEO Strategiczni.pl

Agencja SEO lepszymarketing.pl

Polisy Ubezpieczeniowe TU Europa

• Zamów reklamę