Resultados 1 al 6 de 6

Top 10 de la semana, dia, etc

Esta es una discusión en el tema Top 10 de la semana, dia, etc dentro del foro Soporte de programación, parte de la categoría Programación avanzada y trabajos Freelance; Buenas!! Estoy creando un modulo de vbadvanced para mostrar los 10 temas mas vistos, arme lo siguiente: Código PHP: $temas_query_view  =  $db -> query_read ( "SELECT * FROM "  .  TABLE_PREFIX  .  "thread ORDER BY views DESC LIMIT 0, 10" );             while ( $TopView  =  $db -> fetch_array ( $temas_query_view ))                         {                 {                      $user_view_query  =  $db -> query_read ( "SELECT * FROM "  ...

  1. #1
    Usuario
    Fecha de ingreso
    29/mar/2010
    Edad
    31
    Mensajes
    22
    Gracias
    3
    Agradecido 0 veces en 0 mensajes
    Poder de Credibilidad
    0

    Predeterminado Top 10 de la semana, dia, etc

    Buenas!!
    Estoy creando un modulo de vbadvanced para mostrar los 10 temas mas vistos, arme lo siguiente:

    Código PHP:
    $temas_query_view $db->query_read("SELECT * FROM " TABLE_PREFIX "thread ORDER BY views DESC LIMIT 0, 10");
                while (
    $TopView $db->fetch_array($temas_query_view))        
                    {
                    {
                        
    $user_view_query $db->query_read("SELECT * FROM " TABLE_PREFIX "user where userid =" $TopView['postuserid'] . "");
                        while (
    $TopViewUser $vbulletin->db->fetch_array($user_view_query))
                        
            
                    {
                          eval(
    '$ListadoTopView .= "' fetch_template('adv_portal_MostrarTopView') . '";');
                    };    
                    };
                    } 
    Funciona todo bien.
    Ahora mi consulta es como hago para que solo seleccione los temas de los ultimos 7 dias??
    alguna idea??
    Saludos.



    Temas Similares:

    • #2
      Usuario
      Fecha de ingreso
      29/mar/2010
      Edad
      31
      Mensajes
      22
      Gracias
      3
      Agradecido 0 veces en 0 mensajes
      Poder de Credibilidad
      0

      Predeterminado Respuesta: Top 10 de la semana, dia, etc

      Podria ser de esta manera o estoy mandando cualquiera??

      Código PHP:
      $mod_options['portal_threads_cutoffdate'] = '7';

      $temas_query_reply $db->query_read("SELECT * FROM " TABLE_PREFIX "thread WHERE visible = 1 " .
              
      iif($mod_options['portal_threads_cutoffdate'], 'AND thread.lastpost > ' . (TIMENOW $mod_options['portal_threads_cutoffdate'] * 86400)) . " ORDER BY replycount DESC LIMIT 0, 10"); 



    • #3
      Usuario
      Fecha de ingreso
      29/mar/2010
      Edad
      31
      Mensajes
      22
      Gracias
      3
      Agradecido 0 veces en 0 mensajes
      Poder de Credibilidad
      0

      Predeterminado Respuesta: Top 10 de la semana, dia, etc

      Bueno lo deje de la siguiente forma, mostraria los temas MAS VISTOS y MAS RESPONDIDOS de la semana.
      POR FAVOR decirme si tiene error, es que todabia soy principiante ene sto de php, no entiendo bien como comprobar si me esta mostrando los de la semana o no....funcionar funciona, lista los 10 temas mas respondidos y vistos, pero no se si de la semana.

      Código PHP:
      <?
      $mod_options
      ['portal_threads_cutoffdate'] = '7';
      $mod_options['portal_threads_excludeforumid'] = '24,56,54,55,36,7,9,10,11,32,33,34,35,52';
      $forumids = array($mod_options['portal_threads_excludeforumid']);
       
      $temas_query_reply $db->query_read("SELECT * FROM " TABLE_PREFIX "thread WHERE visible = 1 " .
              
      iif($mod_options['portal_threads_cutoffdate'], 'AND thread.lastpost > ' . (TIMENOW $mod_options['portal_threads_cutoffdate'] * 86400)) . " AND forumid NOT IN(" implode(','$forumids) . ") ORDER BY replycount DESC LIMIT 0, 10");
      while (
      $TopReply $db->fetch_array($temas_query_reply))
      {
      {
                          
      $user_query $db->query_read("SELECT * FROM " TABLE_PREFIX "user where userid =" $TopReply['postuserid'] . "");
                          while (
      $TopReply2 $db->fetch_array($user_query))
                          
              
                      {
                            eval(
      '$ListadoTopReply .= "' fetch_template('adv_portal_MostrarTopReply') . '";');
                      };    
                      };
      }
       
      $temas_query_view $db->query_read("SELECT * FROM " TABLE_PREFIX "thread WHERE visible = 1 " .
              
      iif($mod_options['portal_threads_cutoffdate'], 'AND thread.lastpost > ' . (TIMENOW $mod_options['portal_threads_cutoffdate'] * 86400)) . " AND forumid NOT IN(" implode(','$forumids) . ") ORDER BY views DESC LIMIT 0, 10");
                  while (
      $TopView $db->fetch_array($temas_query_view))        
                      {
                      {
                          
      $user_view_query $db->query_read("SELECT * FROM " TABLE_PREFIX "user where userid =" $TopView['postuserid'] . "");
                          while (
      $TopViewUser $vbulletin->db->fetch_array($user_view_query))
                          
              
                      {
                            eval(
      '$ListadoTopView .= "' fetch_template('adv_portal_MostrarTopView') . '";');
                      };    
                      };
                      }
       
      $db->free_result($newsresult);
      eval(
      '$home[$mods[\'modid\']][\'content\'] .= "' fetch_template('adv_portal_MostrarTop') . '";');
      ?>
      Pd:

      Código PHP:
      while ($TopReply2 $db->fetch_array($user_query))
       
      y
       
      while ($TopViewUser $vbulletin->db->fetch_array($user_view_query)) 
      Los uso para mostrar los avatar de los usuarios. Luego en la plantilla los llamo asi:
      Código PHP:
      <img class="userthread" alt="$thread[postusername]height="32px" width="32px" src="/$vboptions[avatarurl]/avatar$TopReply[postuserid]_$TopReply2[avatarrevision].gif" border="0" /></span></a



    • #4
      Usuario Avatar de Duditas
      Fecha de ingreso
      31/oct/2010
      Ubicación
      España
      Mensajes
      187
      Gracias
      83
      Agradecido 73 veces en 58 mensajes
      Poder de Credibilidad
      3

      Predeterminado Respuesta: Top 10 de la semana, dia, etc

      Yo es que de programación ni papa, a ver si te ven los jefes y te pueden orientar. =(


    • #5
      Administrador Avatar de Jhonnyf
      Fecha de ingreso
      13/jun/2009
      Ubicación
      In my mind
      Mensajes
      1.363
      Gracias
      60
      Agradecido 1.104 veces en 565 mensajes
      Entradas de Blog
      1
      Poder de Credibilidad
      10

      Predeterminado Respuesta: Top 10 de la semana, dia, etc

      Código PHP:
      SELECT 
      FROM " . TABLE_PREFIX . "thread 
      WHERE visible 
      " .
      iif(
      $mod_options['portal_threads_cutoffdate'], 'AND thread.lastpost > ' . (TIMENOW - $mod_options['portal_threads_cutoffdate'] * 86400)) . " 
      AND forumid NOT IN(" . implode(',', $forumids) . "
      ORDER BY replycount DESC LIMIT 010 
      Ahi dice: Todos los temas (Titulos, no contenido) que sean visibles y
      si tengo un valor en la opcion "portal_threads_cutoffdate" entonces ese valor conviertelo en segundos ( por eso se lo multiplica por 86400) y a este momento (valor en segundos) restale los dias que indiqué y
      excluye los foros (los que indicaste) y
      ordenado por el numero de respuesta y
      solo trae 10 registros

      Ahi solo te faltaria añadir que lo ordene tambien por fecha ya sea de publicacion del tema (dateline) o de la fecha del ultimo post (lastpost). deberia quedarte algo asi al final:

      Código PHP:
      ORDER BY replycount,lastpost DESC LIMIT 010 


      [GRACIAS] -> es Boton magico que hace que siempre recibas soporte, USALO!!!

    • El siguiente usuario ha agradecido a Jhonnyf por este útil mensaje:

      felixthekat (26/01/2012)

    • #6
      Usuario
      Fecha de ingreso
      29/mar/2010
      Edad
      31
      Mensajes
      22
      Gracias
      3
      Agradecido 0 veces en 0 mensajes
      Poder de Credibilidad
      0

      Predeterminado Respuesta: Top 10 de la semana, dia, etc

      Cita Iniciado por Duditas Ver mensaje
      Yo es que de programación ni papa, a ver si te ven los jefes y te pueden orientar. =(
      No yo tampoco Dudita....lo mio es muuuy básico y mas intuitivo (prueba y error)...a veces cuando no entiendo algo busco en google y veo si entiendo de que se trata.

      Cita Iniciado por Jhonnyf Ver mensaje
      Código PHP:
      SELECT 
      FROM " . TABLE_PREFIX . "thread 
      WHERE visible 
      " .
      iif(
      $mod_options['portal_threads_cutoffdate'], 'AND thread.lastpost > ' . (TIMENOW - $mod_options['portal_threads_cutoffdate'] * 86400)) . " 
      AND forumid NOT IN(" . implode(',', $forumids) . "
      ORDER BY replycount DESC LIMIT 010 
      Ahi dice: Todos los temas (Titulos, no contenido) que sean visibles y
      si tengo un valor en la opcion "portal_threads_cutoffdate" entonces ese valor conviertelo en segundos ( por eso se lo multiplica por 86400) y a este momento (valor en segundos) restale los dias que indiqué y
      excluye los foros (los que indicaste) y
      ordenado por el numero de respuesta y
      solo trae 10 registros

      Ahi solo te faltaria añadir que lo ordene tambien por fecha ya sea de publicacion del tema (dateline) o de la fecha del ultimo post (lastpost). deberia quedarte algo asi al final:

      Código PHP:
      ORDER BY replycount,lastpost DESC LIMIT 010 
      Muchas gracias jhonnyf....mas que nada por la explicación linea a linea!!


    Foro | Chat y Juegos | Hello Kitty | Programacion | Foro Cristiano | XAT | Chat Foro | Perú | SummArg