Pagina 1 di 2

conteggio messaggi utente

Inviato: 30/07/2014, 13:29
da mimmoely
Ciao c'è una funzione o una mod dove si riesca a conteggiare i messaggi di ogni utente da una data ad un'altra? Es. dall' 1 gennaio 2014 ad oggi..... :?

Re: conteggio messaggi utente

Inviato: 30/07/2014, 21:32
da Anto
Ciao,
è sufficiente fare un' interrogazione al DB.
Che vuoi fare?

Re: conteggio messaggi utente

Inviato: 30/07/2014, 22:07
da mimmoely
innanzitutto grazie per avermi risposto, ti dico nel dettaglio cosa vorrei fare:
in una festa che organizzerò col gruppo a fine anno vorrei premiare chi è stato più partecipe al forum
www.gat-taranto.org/forum
e quindi chi ha scritto più messaggi dall'1 gennaio fino a dicembre.
Dimmi nel dettaglio come faccio ad interrogare il DB?

Re: conteggio messaggi utente

Inviato: 05/08/2014, 0:49
da Anto
Ti serve solo sapere chi sono tutti gli utenti che hanno inviato il maggior numero di messaggi nella board?

Se cosi, dovresti creare una query da lanciare su phpmyadmin in cui chiedi al DB di visualizzare tutti gli utenti con il maggior numero di messaggi dall' inizio di gennaio di quest' anno 20140101 alla fine di quest' anno dicembre 20141231.

Re: conteggio messaggi utente

Inviato: 05/08/2014, 0:58
da mimmoely
ok io sto con aruba, non è che mi diresti il codice preciso in php?

Re: conteggio messaggi utente

Inviato: 05/08/2014, 10:31
da mimmoely
Con la query sottostante ovviamente mi da errore di sintassi data la mia grande volontà ma scarsa esperienza in campo. :?

SELECT COUNT (username) AS MaxNumberOfTopics
FROM 'phpbb_forums';
ORDER BY username ASC;
WHERE 20140101 = 20141231


cosa andrebbe modificato?

Re: R: conteggio messaggi utente

Inviato: 05/08/2014, 13:00
da brunino
Quella query non ha molto senso. La tabella interesata é phpbb_posts con i campi post_time, poster_id

comunque Prova a creare un file php con questo codice e lanciarlo.

Codice: Seleziona tutto

<?php
mysql_select_db(...);
$query=mysql_query("SELECT username, user_id FROM phpbb_users");
while($ris=mysql_fetch_assoc($query))
{
echo $ris['username'];
echo ': ';
$pid=$ris['user_id'];
$qu2=mysql_query("SELECT * FROM phpbb_posts WHERE poster_id=$pid AND post_time>1388534400 AND post_time<1419984000");
$numero = mysql_num_rows($qu2);
echo $numero;
echo '<br>';
}
?>
ovviamente al posto dei ... inserisci il nome del database.
Questo non li ordina peró...

EDIT: in alternativa prova questa query (non testata)

Codice: Seleziona tutto

SELECT *,count(*) as posts 
FROM phpbb_users U
JOIN phpbb_posts P USING (username)
GROUP BY username
ORDER BY posts DESC 
Inviato con Tapatalk Free da Android

Re: conteggio messaggi utente

Inviato: 05/08/2014, 15:17
da mimmoely
ho provato mi dice:

#1054 - Unknown column 'username' in 'from clause'

Re: R: conteggio messaggi utente

Inviato: 05/08/2014, 15:37
da brunino
Questa funziona

Codice: Seleziona tutto

SELECT username,count(*) as post 
FROM phpbb_users
JOIN phpbb_posts
WHERE phpbb_posts.poster_id=user_id
AND phpbb_posts.post_time>1388534400
AND phpbb_posts.post_time<1419984000
GROUP BY user_id
ORDER BY post DESC 
Inviato con Tapatalk Free da Android

Re: R: conteggio messaggi utente

Inviato: 05/08/2014, 15:57
da mimmoely
brunino ha scritto:Questa funziona

Codice: Seleziona tutto

SELECT username,count(*) as post 
FROM phpbb_users
JOIN phpbb_posts
WHERE phpbb_posts.poster_id=user_id
AND phpbb_posts.post_time>1388534400
AND phpbb_posts.post_time<1419984000
GROUP BY user_id
ORDER BY post DESC 
Inviato con Tapatalk Free da Android

wow non ci posso credere! ....mi esce l'elenco degli users con i relativi messaggi!!! Quindi questi riguardano il numero di messaggi totali dall'1 gennaio ad oggi, oppure fino al 31 dicembre di quest'anno?
Se volessi cambiare le date ....mi spieghi come tradurre le date nei post.post_time?
In ogni caso grazie tante