Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/10/2007, 08:47
tuky
Usuario no validado
 
Fecha de Ingreso: julio-2003
Ubicación: <?="www.tuky.cl";?>
Mensajes: 132
Antigüedad: 21 años, 6 meses
Puntos: 4
De acuerdo Re: Como hacer un top semanal? (Los mas vistos en una semana)

Si solo dispones de una tabla, se me ocurren estos cambios:

Contabilizamos los hits
Código PHP:
 <?php

    $id_noticia 
$_GET['id'];
    
$titulo_noticia $_GET['titulo'];

    
$semana_actual date("W-Y"); // Entrega la semana actual del año, ej: 42-2007 (la 42va semana del año 2007)

    
$sql "SELECT id FROM noticias WHERE id = $id_noticia AND fecha = '$semana_actual'";
    
$result mysql_query($sql$conexion);
    if (
mysql_num_rows($result) > 0)
    {
        
$sql_new "UPDATE noticias SET hits = hits + 1 WHERE id = $id_noticia AND fecha = '$semana_actual'";
    }
    else
    {
        
$sql_new "INSERT INTO noticias VALUES ($id_noticia, $titulo_noticia, 1, '$semana_actual')";
    }
    
    
mysql_free_result($result);
    
mysql_query($sql_new$conexion);
    
?>
Mostramos el top
Código PHP:
 <?php

    $semana_actual 
date("W-Y"); // Entrega la semana actual del año, ej: 42-2007 (la 42va semana del año 2007)
    
$numero_noticias 10;

    
$sql "SELECT id, titulo, hits FROM noticias WHERE fecha = '$semana_actual' ORDER BY hits DESC LIMIT 0, $numero_noticias";
    
$result mysql_query($sql$conexion);
    while(
$r mysql_fetch_assoc($result))
    {
        echo 
$r['titulo'];
    }
    
    
mysql_free_result($result);
        
?>
saludos!!