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!!