Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Top de Usuarios en phpbb

Estas en el tema de Top de Usuarios en phpbb en el foro de Sistemas de gestión de contenidos en Foros del Web. hola, quisiera saber como lograr un top 5 de usuarios en php, es decir que aparescan los 5 usuarios mas activos (que mas post tengan), ...
  #1 (permalink)  
Antiguo 23/07/2005, 14:08
 
Fecha de Ingreso: julio-2005
Mensajes: 16
Antigüedad: 19 años, 4 meses
Puntos: 0
Top de Usuarios en phpbb

hola, quisiera saber como lograr un top 5 de usuarios en php, es decir que aparescan los 5 usuarios mas activos (que mas post tengan), eh visto que en phpnuke se puede hacer, pero quisiera el script para mi web sin tener que usar el phpnuke n_n ejemplo de como quiero que salga:

1. Usuario tal (2000 post)

2. Usuario tal (1000 post)

3. Usuario tal (800 post)

4. Usuario tal (500 post)

5. Usuario tal (100 post)

De antemano, gracias!
  #2 (permalink)  
Antiguo 24/07/2005, 12:01
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Lo mismo necesito yo, he buscado por todos lados y no encuentro nada :( alguien nos puede ayudar Pliss!!
  #3 (permalink)  
Antiguo 24/07/2005, 16:21
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
buuu todavia no hay respuesta..

Porfa es urgenete!
  #4 (permalink)  
Antiguo 24/07/2005, 19:25
Avatar de InTheAciD  
Fecha de Ingreso: agosto-2004
Ubicación: La Paz - Bolivia.
Mensajes: 703
Antigüedad: 20 años, 3 meses
Puntos: 4
ok! ya les llego la buena ayuda.
es simple primero deben ir a su panel de administracion.
despues bajan su menu de la izquierda hasta llegar a la seccion de:
-Administracion de usuarios.
-Despues hacen click en rangos.
-Entraran a una pagina donde estan el rango predeterminado de site admin se van al boton de Añadir rango y el resto es facil.
Espero les sirva y si necesitan mas ayuda posteenlo aka.
salu2.
__________________
"La creatividad es mas importante que el conocimiento" A. Einstein.

InTheAciD - Blog -> Emprendedor y autodidacta incurable.
  #5 (permalink)  
Antiguo 24/07/2005, 20:34
 
Fecha de Ingreso: julio-2005
Mensajes: 16
Antigüedad: 19 años, 4 meses
Puntos: 0
O.O pero, no quiero añadir rangos xD busco un script para que me salgan los usuarios con mas post sin importar el rango, solo eso.. encontre un script pero no me funciono, se los dejo haber si le sirve a alguien:

http://www.mctekk.com/con-3,27,138.htm

Si le funciona a alguien me pasa el codigo tal y como lo puso plx xP
cya.
  #6 (permalink)  
Antiguo 25/07/2005, 23:21
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Cita:
Iniciado por Saint_Cloud
hola, quisiera saber como lograr un top 5 de usuarios en php, es decir que aparescan los 5 usuarios mas activos (que mas post tengan), eh visto que en phpnuke se puede hacer, pero quisiera el script para mi web sin tener que usar el phpnuke n_n ejemplo de como quiero que salga:

1. Usuario tal (2000 post)

2. Usuario tal (1000 post)

3. Usuario tal (800 post)

4. Usuario tal (500 post)

5. Usuario tal (100 post)

De antemano, gracias!
""quisiera saber como lograr un top 5 de usuarios en php""

eso es lo que necesitamos Pliss!
  #7 (permalink)  
Antiguo 28/07/2005, 18:27
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
buuu no hay ayuda =(
  #8 (permalink)  
Antiguo 28/07/2005, 22:26
 
Fecha de Ingreso: julio-2005
Mensajes: 16
Antigüedad: 19 años, 4 meses
Puntos: 0
no man, hasta ahora ninguna de las dudas que eh posteado en el foro me han resuelto ;) creo que no son tan buenos como pensaba ^^ al menos no se animaron a decirme que busque en google o en php.net xD
  #9 (permalink)  
Antiguo 30/07/2005, 03:45
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Puedes usar una query sql que te haga algo parecido, pero no sé si será exactamente cómo tu lo quieres:

Primero tienes que colocar al principio de tu página el código para iniciar sesión phpbb, que en este caso no es necesario para ningún tema de sesión, pero si para conectar a la base de datos. Y luego preguntas a la base de datos y lo sacas por pantalla:
Código PHP:
<?php
define
('IN_PHPBB'true); 

$phpbb_root_path ''//PATH DEL FORO RESPECTO DEL SCRIPT 
if (!function_exists("init_userprefs")) 

    include(
$phpbb_root_path 'extension.inc'); 
    include(
$phpbb_root_path 'common.'.$phpEx); 
    
$userdata session_pagestart($user_ipPAGE_INDEX); 
    
init_userprefs($userdata); 
    global 
$db$board_config
    global 
$HTTP_COOKIE_VARS$HTTP_GET_VARS$SID
    
$cookiename $board_config['cookie_name']; 
    
$cookiepath $board_config['cookie_path']; 
    
$cookiedomain $board_config['cookie_domain']; 
    
$cookiesecure $board_config['cookie_secure']; 
}
if ( !(isset(
$HTTP_COOKIE_VARS[$cookiename '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename '_data'])) ) 

    
output_add_rewrite_var('sid'$userdata['session_id']); 

$numero=20;
$numero=(get_db_stat('usercount')<$numero) ? (get_db_stat('usercount')) : ($numero);
?>
<table align="left" width="100">
<tr><th>Posici&oacute;n</th><th>Nick</th><th>Mensajes</th></tr>
<?
$sql
="SELECT username,user_posts FROM ".USERS_TABLE." WHERE user_allow_viewonline='1' AND user_id<>'-1' ORDER BY user_posts DESC limit 0,".$numero;
if (
$sql=mysql_query($sql))
{
    while (
$ranking=mysql_fetch_assoc($sql))
    {
        
$cont++;
        print 
"<tr><td align='center'>".$cont."</td><td>".(($ranking['username']==$userdata['username']) ? ("<b>".$userdata['username']."</b>") : ($ranking['username']))."</td><td align='right'>".$ranking['user_posts']."</td></tr>";
        
        
    }
}
?>
</table>
Pero eso, no sé si es exactamente lo que tu quieres porque te muestra los X usuarios que más han posteado

Para configurarlo, sólo tienes que poner el directorio de tu foro respecto de la web en la variable $phpbb_root_path
Código PHP:
$phpbb_root_path ''//PATH DEL FORO RESPECTO DEL SCRIPT 
Y el número de usuarios a mostrar en el ranking en la variable $numero(yo puse 20):
Código PHP:
$numero=20
Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 02/08/2005 a las 02:50
  #10 (permalink)  
Antiguo 30/07/2005, 17:09
 
Fecha de Ingreso: julio-2005
Mensajes: 16
Antigüedad: 19 años, 4 meses
Puntos: 0
='D eres mi heroe yoseman! me funciono a la perfección ='D muchas gracias de verdad, retiro lo antes dicho xD
  #11 (permalink)  
Antiguo 31/07/2005, 02:55
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Nada saint encantado de ayudar :)

Salu2 ;)
__________________
[+]
[+]
  #12 (permalink)  
Antiguo 31/07/2005, 23:42
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
Ehh!! gracias Yoseman.

Sabes que todo bien... pero solo una cosa "Tengo un problema"

al codigo le modifique solo el:

$numero=20;

por

$numero=10;

y sabes que en la posicion... parte diciendo del "2" osea:

Posición Nick Mensajes
2. ABC 1690
3. DEF 1500
4. GHI 1450
5. JKL 1300
6. MNO 1100
7. PQR 1010
8. STU 1008
9. VWX 945
10. YZA 854
11. BCD 789

Asi pos... :( que pasa??
  #13 (permalink)  
Antiguo 01/08/2005, 01:38
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Es curioso, eso no tiene sentido mucho sentido...

Prueba de sustituir por esto:
Código PHP:
 $numero=10cont=1
Mira yo lo probe en este foro para 10 usuarios y funcionó:

http://usuarios.lycos.es/jesuselloco...B2/ranking.php

Salu2 ;)
__________________
[+]
[+]
  #14 (permalink)  
Antiguo 02/08/2005, 01:30
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 3 meses
Puntos: 0
Help!

Hola, pues si me funciono bien, pero me di cuenta de algo cuando lo puse funciono a la perfeccion, pero conforme fui visitando la pagina me di cuenta de algo...no se actualizaba! xD los usuarios seguian tal y como al principio con los mismos post y ya habian cambiado :S pues creo que fue por que personalize el script y quedo medio raro xD se los dejo haber si me pueden ayudar, gracias de antemano.
Código:
<?php
define('IN_PHPBB', true);

$phpbb_root_path = 'foro/'; //PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
    include($phpbb_root_path . 'extension.inc');
    include($phpbb_root_path . 'common.'.$phpEx);
    $userdata = session_pagestart($user_ip, PAGE_INDEX);
    init_userprefs($userdata);
    global $db, $board_config;
    global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
    $cookiename = $board_config['cookie_name'];
    $cookiepath = $board_config['cookie_path'];
    $cookiedomain = $board_config['cookie_domain'];
    $cookiesecure = $board_config['cookie_secure'];
}
$acceso_a_grupos=array("Moderadores","Administradores");
if ( !(isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data'])) )
{
    output_add_rewrite_var('sid', $userdata['session_id']);
}
$numero=5;
$numero=(get_db_stat('usercount')<$numero) ? (get_db_stat('usercount')) : ($numero);
?>
<table align="left">
<tr>
<th align="left">Nick</th>
<th></th>
<th align="left">Posts</th>
</tr>
<?
$sql="SELECT username,user_posts FROM ".USERS_TABLE." WHERE user_allow_viewonline='1' AND user_id<>'-1' ORDER BY user_posts DESC limit 0,".$numero;
if ($sql=mysql_query($sql))
{
    while ($ranking=mysql_fetch_assoc($sql))
    {
        $cont++;
        print "<tr><td>".(($ranking['username']==$userdata['username']) ? ("<b>".$userdata['username']."</b>") : ($ranking['username']))."</td><td></td><td>".$ranking['user_posts']."</td></tr>";
        
        
    }
}
?>
</table>
Saludos.
  #15 (permalink)  
Antiguo 02/08/2005, 02:59
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Ése script lo único que hace es leer de la table de usuarios de la base de datos y mostrar las 5 usuarios que más posts tienen.

No entiendo que no funcione... (claro si siguen en cabeza con más posts los mismos usuarios, pués naturalmente no cambiará)

Salu2 ;)
__________________
[+]
[+]
  #16 (permalink)  
Antiguo 02/08/2005, 11:28
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola, lo que pasa es que aparte de que los usuarios no cambian esos usuarios ya tienen muchos mas post y en el script siguen igual, lo que hize fue poner el script tal y como lo pusiste, y sigue igual O.O no entiendo T_T
  #17 (permalink)  
Antiguo 02/08/2005, 11:36
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 3 meses
Puntos: 0
Me acabo de dar cuenta de otra cosa n_nU los post si se actualizan, pero lo que pasa es que algunos usuarios no aparecen :S aunque tienen mas post que los que estan ahi no salen, no se si sera algo del nick o del rango :S
  #18 (permalink)  
Antiguo 02/08/2005, 16:53
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
No, lo que sucede es que yo lo hice de tal forma que aquellos usuarios que tienen en su perfil seleccionado 'ocultar mi status online' no se vean en el ranking.

Si deseas que se vean aunque tengan oculto su estado cambia la línea:
Código PHP:
$sql="SELECT username,user_posts FROM ".USERS_TABLE." WHERE user_allow_viewonline='1' AND user_id<>'-1' ORDER BY user_posts DESC limit 0,".$numero
por esta:
Código PHP:
$sql="SELECT username,user_posts FROM ".USERS_TABLE." WHERE user_id<>'-1' ORDER BY user_posts DESC limit 0,".$numero
Creo que eso es lo que pasa, otra cosa ya se me escapa...

Salu2 ;)
__________________
[+]
[+]
  #19 (permalink)  
Antiguo 02/08/2005, 20:14
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 3 meses
Puntos: 0
efectivamente ! xP solucionado, gracias man.
  #20 (permalink)  
Antiguo 06/08/2005, 09:36
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
:S a mi con FireFox me empiza a contar los Top Usuarios des 2 y en Internet Explorer desde 1 :S que pasa??
  #21 (permalink)  
Antiguo 06/08/2005, 16:56
Avatar de Zensuke  
Fecha de Ingreso: agosto-2005
Ubicación: Mexico, cancun.
Mensajes: 31
Antigüedad: 19 años, 3 meses
Puntos: 0
Me preguntaba, como seria para que los usuarios tengan la url hacia su perfil?
  #22 (permalink)  
Antiguo 06/08/2005, 20:07
 
Fecha de Ingreso: julio-2005
Mensajes: 32
Antigüedad: 19 años, 4 meses
Puntos: 0
ahhh ya caxe que es... sabes que yo uso en la misma pagina (en el mismo index) eso para poder logiarse desde la web (al foro) y que sale tu avatar y todo... el que publico el yoseman...

Bueno la lesera es que cuando estoy legeado me muestra el top de user desde el 2.. y cuendo soy invitado esta desde el 1 :? (en cualquier explorador).


:( me pueden ayudar??
  #23 (permalink)  
Antiguo 29/08/2005, 01:24
Avatar de oscarva  
Fecha de Ingreso: agosto-2004
Ubicación: Bogota - Colombia
Mensajes: 425
Antigüedad: 20 años, 3 meses
Puntos: 2
y esto?

Hola a todos y especial a yoseman

mi pregunta es esta. Como puedo hacer para mostrar el top de usuarios solo del mes que cursa? esque el sistema lo veo en el foro de xeoweb y me parece muy bueno mostrar los usuarios top del mes

aqui esta como se ve en xeoweb: http://www.xeoweb.com/top-mes.php?m=8&a=2005

un saludo y gracias
__________________
Colsitio. Guía de Hosting
  #24 (permalink)  
Antiguo 09/09/2005, 13:17
Avatar de SoFtDrAkE  
Fecha de Ingreso: agosto-2005
Ubicación: Panamá
Mensajes: 117
Antigüedad: 19 años, 3 meses
Puntos: 0
Esta kool ese code aver si alguien sabe cual se usa para darse cuenta cuantos usuarios hay registrados en la web y cuantos Post hay en le foro ??
aver si me ayuda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.