Like Tree2Likes
  • 1 Post By Eduardo Leon
  • 1 Post By ZzeKir

Problemita sencillo con código PHP

Esta es una discusión para el tema Problemita sencillo con código PHP en el foro Lenguajes de Programación, bajo la categoría Área Administrativa; Buenas tardes. Antes de nada dar las gracias por la ayuda que sé que voy a recibir por vuestra parte . Tengo un código en PHP que muestra los 5 top posters de la semana. ...
Página:


Resultados 1 al 15 de 15

Temas similares

  1. Problemita... Respuestas: 8
    Por superkefka en el foro vBulletin 3 - Preguntas, Problemas y Soluciones
  2. Por felixthekat en el foro vBulletin 3 - Preguntas, Problemas y Soluciones
  3. Problemita Respuestas: 2
    Por slogan en el foro vBulletin 3 - Preguntas, Problemas y Soluciones
  4. Por canastero en el foro vBulletin 3 - Preguntas, Problemas y Soluciones
  5. Por elroger en el foro Archivos de vBulletin 3.0 - 3.7
  1. #1
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Problemita sencillo con código PHP

    Buenas tardes. Antes de nada dar las gracias por la ayuda que sé que voy a recibir por vuestra parte . Tengo un código en PHP que muestra los 5 top posters de la semana. Sé que habra que cambiar algo de la parte donde pone "$starttime" y lo de "$mostactiveweek_get" pero no tengo ni idea de lo que hay que cambiar. Lo que quiero es que en vez de ser de una semana, la cuenta de mensajes sea vitalicia.
    PD: Éste código va en un widget del CMS

    Código PHP:
    $posts "Posts"
      
    ob_start(); 
      require_once(
    './includes/functions_user.php'); 
      require_once(
    './includes/functions_bigthree.php'); 
      
    // Current Week Top Posters 
      
    $starttime mktime(000date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24); 
      
    // Get Top Members for current week 
      
    $mostactiveweek_get vB::$db->query_read(
        SELECT "
    .TABLE_PREFIX."user.userid, ".TABLE_PREFIX."user.username, ".TABLE_PREFIX."user.usertitle, 
         COUNT("
    .TABLE_PREFIX."post.postid) AS postcount 
        FROM "
    .TABLE_PREFIX."user 
         LEFT JOIN "
    .TABLE_PREFIX."post 
          ON "
    .TABLE_PREFIX."post.userid=".TABLE_PREFIX."user.userid 
           AND dateline>'"
    .$starttime."' 
       GROUP BY "
    .TABLE_PREFIX."user.userid 
       ORDER BY postcount DESC 
       LIMIT 5"
    ); 
      
    $topposter true
      
    $output_bits ''
      while(
    $user vB::$db->fetch_array($mostactiveweek_get)) 
      { 
            
    $percentage round(($user[postcount]/$totalposts[postcount]) * 100); 
            if(
    $topposter == true
            { 
               
    $avatarurl fetch_avatar_url($user[userid]); 
               if (!
    $avatarurl) { 
                   
    $useravatar 'images/misc/avatar.png'
               } else  { 
                  
    $useravatar $avatarurl[0]; 
               } 
               
    $output_bits .='<div align="center"> 
                               <img border="0" src="'
    .$useravatar.'"><br /> 
                               <a target="_blank" href="member.php?u='
    .$user[userid].'">'.$user[username].'</a><br /> 
                               '
    .$user[usertitle].'<br /> 
                               '
    .$posts.':&nbsp;'.$user[postcount].'<br /> 
                               </div><hr />'

               
    $topposter false
            } else { 
               
    $output_bits .= '<a target="_blank" href="member.php?u='.$user[userid].'">'.$user[username].'</a><div style="float: right;">'.$user[postcount].'</div><br />'
            } 
      } 
      
    $output $output_bits
      
    ob_end_clean(); 

  2. #2
    Banned Array
    Fecha de ingreso
    08 ago, 10
    Ubicación
    Resistencia, Chaco, Argentina.
    Mensajes
    506
    Gustado
    96 Veces
    Me Gustan
    60 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    y supongo que deberias borrar esa linea.
    Asi no tiene un rago maximo de conteo.

  3. #3
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    A qué línea te refieres Agustín? a la relacionada con //current week top posters(la que viene debajo, vaya)???? Ya lo intenté pero sigue igual. Osease: Siguen saliendo los mismos top posters, no salen los moderadores (por ejemplo) que tendrán más de 50 mensajes.
    La cuenta total de post no aparece.

  4. #4
    Banned Array
    Fecha de ingreso
    08 ago, 10
    Ubicación
    Resistencia, Chaco, Argentina.
    Mensajes
    506
    Gustado
    96 Veces
    Me Gustan
    60 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Aca esta tu problema:
    Código PHP:
     GROUP BY ".TABLE_PREFIX."user.userid 
       ORDER BY postcount DESC 
       LIMIT 5
    "); 
    Saca el LIMIT 5. o pone mas.
    Si queres un limite de 100 mensajes : LIMIT 100.
    Si no queres limite, elmina LIMIT 5.

  5. #5
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Así tengo el código ahora mismo y no veo nada diferente. Sale el mismo usuario con 2 post (Que son los que lleva esta semana) no salen los 67 totales que tiene


    Código PHP:
    $posts "Posts"
      
    ob_start(); 
      require_once(
    './includes/functions_user.php'); 
      require_once(
    './includes/functions_bigthree.php'); 
      
    // Get Top Members for current week 
      
    $mostactiveweek_get vB::$db->query_read(
        SELECT "
    .TABLE_PREFIX."user.userid, ".TABLE_PREFIX."user.username, ".TABLE_PREFIX."user.usertitle, 
         COUNT("
    .TABLE_PREFIX."post.postid) AS postcount 
        FROM "
    .TABLE_PREFIX."user 
         LEFT JOIN "
    .TABLE_PREFIX."post 
          ON "
    .TABLE_PREFIX."post.userid=".TABLE_PREFIX."user.userid 
           AND dateline>'"
    .$starttime."' 
       GROUP BY "
    .TABLE_PREFIX."user.userid 
       ORDER BY postcount DESC"
    ); 
      
    $topposter true
      
    $output_bits ''
      while(
    $user vB::$db->fetch_array($mostactiveweek_get)) 
      { 
            
    $percentage round(($user[postcount]/$totalposts[postcount]) * 100); 
            if(
    $topposter == true
            { 
               
    $avatarurl fetch_avatar_url($user[userid]); 
               if (!
    $avatarurl) { 
                   
    $useravatar 'images/misc/avatar.png'
               } else  { 
                  
    $useravatar $avatarurl[0]; 
               } 
               
    $output_bits .='<div align="center"> 
                               <img border="0" src="'
    .$useravatar.'"><br /> 
                               <a target="_blank" href="member.php?u='
    .$user[userid].'">'.$user[username].'</a><br /> 
                               '
    .$user[usertitle].'<br /> 
                               '
    .$posts.': '.$user[postcount].'<br /> 
                               </div><hr />'

               
    $topposter false
            } else { 
               
    $output_bits .= '<a target="_blank" href="member.php?u='.$user[userid].'">'.$user[username].'</a><div style="float: right;">'.$user[postcount].'</div><br />'
            } 
      } 
      
    $output $output_bits
      
    ob_end_clean(); 
    PD: Ese límite que me hiciste quitar no se refiere al número de usuarios que han de parecer en el widget?

  6. #6
    Banned Array
    Fecha de ingreso
    08 ago, 10
    Ubicación
    Resistencia, Chaco, Argentina.
    Mensajes
    506
    Gustado
    96 Veces
    Me Gustan
    60 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Fijate esto:
    $percentage = round(($user[postcount]/$totalposts[postcount]) * 100);
    La verdad nose como funciona tu script.

  7. #7
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Sinceramente.. yo tampoco lo sé, lo rebusqué por internet (hay permiso para ponerlo donde se quiera y hacerle modificaciones).

    Intentaré poner el post en PHP a ver si ahí consigo lo que quiero. Muchas gracias por el intento Agustin =D

  8. #8
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Consulta sobre codigo php

    Buenas tardes. Antes de nada dar las gracias por la ayuda que sé que voy a recibir por vuestra parte . Tengo un código en PHP que muestra los 5 top posters de la semana. Sé que habra que cambiar algo de la parte donde pone "$starttime" y lo de "$mostactiveweek_get" pero no tengo ni idea de lo que hay que cambiar. Lo que quiero es que en vez de ser de una semana, la cuenta de mensajes sea vitalicia.
    PD: Éste código va en un widget del CMS

    Código PHP:
    $posts "Posts"
      
    ob_start(); 
      require_once(
    './includes/functions_user.php'); 
      require_once(
    './includes/functions_bigthree.php'); 
      
    // Current Week Top Posters 
      
    $starttime mktime(000date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24); 
      
    // Get Top Members for current week 
      
    $mostactiveweek_get vB::$db->query_read(
        SELECT "
    .TABLE_PREFIX."user.userid, ".TABLE_PREFIX."user.username, ".TABLE_PREFIX."user.usertitle, 
         COUNT("
    .TABLE_PREFIX."post.postid) AS postcount 
        FROM "
    .TABLE_PREFIX."user 
         LEFT JOIN "
    .TABLE_PREFIX."post 
          ON "
    .TABLE_PREFIX."post.userid=".TABLE_PREFIX."user.userid 
           AND dateline>'"
    .$starttime."' 
       GROUP BY "
    .TABLE_PREFIX."user.userid 
       ORDER BY postcount DESC 
       LIMIT 5"
    ); 
      
    $topposter true
      
    $output_bits ''
      while(
    $user vB::$db->fetch_array($mostactiveweek_get)) 
      { 
            
    $percentage round(($user[postcount]/$totalposts[postcount]) * 100); 
            if(
    $topposter == true
            { 
               
    $avatarurl fetch_avatar_url($user[userid]); 
               if (!
    $avatarurl) { 
                   
    $useravatar 'images/misc/avatar.png'
               } else  { 
                  
    $useravatar $avatarurl[0]; 
               } 
               
    $output_bits .='<div align="center"> 
                               <img border="0" src="'
    .$useravatar.'"><br /> 
                               <a target="_blank"  href="member.php?u='
    .$user[userid].'">'.$user[username].'</a><br  /> 
                               '
    .$user[usertitle].'<br /> 
                               '
    .$posts.':&nbsp;'.$user[postcount].'<br /> 
                               </div><hr />'

               
    $topposter false
            } else { 
               
    $output_bits .= '<a target="_blank"  href="member.php?u='.$user[userid].'">'.$user[username].'</a><div  style="float: right;">'.$user[postcount].'</div><br />';  
            } 
      } 
      
    $output $output_bits
      
    ob_end_clean(); 
    PD: Postee esto antes en el apartado de problemas con vbulletin, pero creo que este apartado es más indicado.

  9. #9
    Miembro especial Miembro de diamante Array Avatar de Eduardo Leon
    Fecha de ingreso
    11 oct, 09
    Ubicación
    Peru - Lima
    Mensajes
    809
    Gustado
    167 Veces
    Me Gustan
    23 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    okz .
    copia y pega esto :

    Código PHP:

    $posts 
    "Posts"
      
    ob_start(); 
      require_once(
    './includes/functions_user.php'); 
      require_once(
    './includes/functions_bigthree.php'); 
      
    // Current Week Top Posters 
      
    $starttime mktime(000date('n')); 
      
    // Get Top Members for current week 
      
    $mostactiveweek_get vB::$db->query_read(
        SELECT "
    .TABLE_PREFIX."user.userid, ".TABLE_PREFIX."user.username, ".TABLE_PREFIX."user.usertitle, 
         COUNT("
    .TABLE_PREFIX."post.postid) AS postcount 
        FROM "
    .TABLE_PREFIX."user 
         LEFT JOIN "
    .TABLE_PREFIX."post 
          ON "
    .TABLE_PREFIX."post.userid=".TABLE_PREFIX."user.userid 
           AND dateline>'"
    .$starttime."' 
       GROUP BY "
    .TABLE_PREFIX."user.userid 
       ORDER BY postcount DESC 
       LIMIT 5"
    ); 
      
    $topposter true
      
    $output_bits ''
      while(
    $user vB::$db->fetch_array($mostactiveweek_get)) 
      { 
            
    $percentage round(($user[postcount]/$totalposts[postcount]) * 100); 
            if(
    $topposter == true
            { 
               
    $avatarurl fetch_avatar_url($user[userid]); 
               if (!
    $avatarurl) { 
                   
    $useravatar 'images/misc/avatar.png'
               } else  { 
                  
    $useravatar $avatarurl[0]; 
               } 
               
    $output_bits .='<div align="center"> 
                               <img border="0" src="'
    .$useravatar.'"><br /> 
                               <a target="_blank" href="member.php?u='
    .$user[userid].'">'.$user[username].'</a><br /> 
                               '
    .$user[usertitle].'<br /> 
                               '
    .$posts.':&nbsp;'.$user[postcount].'<br /> 
                               </div><hr />'

               
    $topposter false
            } else { 
               
    $output_bits .= '<a target="_blank" href="member.php?u='.$user[userid].'">'.$user[username].'</a><div style="float: right;">'.$user[postcount].'</div><br />'
            } 
      } 
      
    $output $output_bits
      
    ob_end_clean(); 

    tetsenoske le gusta esto.
    Trata de buscar el post antes de pedir ayuda. Muchos usuarios postean las mismas preguntas que ya antes han sido respondidas.
    Foro de Animes Y Mangas - Manual de vBulletin
    No dare soporte por MP (use los foros para realizar tal accion)



  10. #10
    Miembro Array
    Fecha de ingreso
    23 jul, 09
    Mensajes
    6
    Gustado
    0 Veces
    Me Gustan
    0 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    No funciona.. sigue igual

  11. #11
    Miembro especial Miembro de diamante Array Avatar de Eduardo Leon
    Fecha de ingreso
    11 oct, 09
    Ubicación
    Peru - Lima
    Mensajes
    809
    Gustado
    167 Veces
    Me Gustan
    23 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Usa mejor este hack ya que hace la misma funcion que buscas :

    Top posters widget type - vBulletin.org Forum

    Aunque no sirva de mucho pero doy una solucion ...

    Saludos !
    Trata de buscar el post antes de pedir ayuda. Muchos usuarios postean las mismas preguntas que ya antes han sido respondidas.
    Foro de Animes Y Mangas - Manual de vBulletin
    No dare soporte por MP (use los foros para realizar tal accion)



  12. #12
    NkC
    NkC está desconectado
    Miembro especial Miembro de diamante Array Avatar de NkC
    Fecha de ingreso
    04 feb, 10
    Ubicación
    Chile!
    Mensajes
    863
    Gustado
    394 Veces
    Me Gustan
    67 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    No puedo creer que no se hayan dado cuenta donde esta la variable que pide los datos de semana xD. No es necesario saber PHP solo analizar un poco este codigo

    Lo que buscan es esto:

    Código PHP:
    $starttime mktime(000date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24); 
    Ahora no se con que reemplazarlo porque no se PHP pero, pensandolo un poco esta es una limitacion de tiempo osea habria que quitarla, pero ademas de eliminarla se debe no hacer esa limitacion en todo el codigo... ¿pienso yo xD?

  13. #13
    Miembro especial Miembro de oro Array
    Fecha de ingreso
    11 feb, 11
    Mensajes
    115
    Gustado
    6 Veces
    Me Gustan
    7 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Para que sean los top posteadores de una semana remplaza la linea de NKC por esta:

    Código PHP:
    <?
    $startTime 
    mktime(000date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24);
    $endTime mktime(); 
    ?>

  14. #14
    NkC
    NkC está desconectado
    Miembro especial Miembro de diamante Array Avatar de NkC
    Fecha de ingreso
    04 feb, 10
    Ubicación
    Chile!
    Mensajes
    863
    Gustado
    394 Veces
    Me Gustan
    67 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Cita Iniciado por ZzeKir Ver mensaje
    Para que sean los top posteadores de una semana remplaza la linea de NKC por esta:

    Código PHP:
    <?
    $startTime 
    mktime(000date('n'), date('j'), date('Y')) - ((date('N')-1)*3600*24);
    $endTime mktime(); 
    ?>
    Claro pero el quiere que sean los top posteadores (sin limite de tiempo).

  15. #15
    Miembro especial Miembro de oro Array
    Fecha de ingreso
    11 feb, 11
    Mensajes
    115
    Gustado
    6 Veces
    Me Gustan
    7 Veces

    Predeterminado Re: Problemita sencillo con código PHP

    Cita Iniciado por NkC Ver mensaje
    Claro pero el quiere que sean los top posteadores (sin limite de tiempo).
    Con este todo un año:

    <?
    $startTime = mktime(0, 0, 0, 1, 1, date('Y'));
    $endTime = mktime();
    ?>
    NkC le gusta esto.