Foros del Web » Programando para Internet » PHP »

Como hacer un top-ten de paginas mas visitadas de mi web

Estas en el tema de Como hacer un top-ten de paginas mas visitadas de mi web en el foro de PHP en Foros del Web. Hola, despues de que el usuario mariomon17 me enseñara a hacer un contador para saber cuantas veces fue vista cada pagina de una seccion de ...
  #1 (permalink)  
Antiguo 29/01/2011, 14:34
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Como hacer un top-ten de paginas mas visitadas de mi web

Hola, despues de que el usuario mariomon17 me enseñara a hacer un contador para saber cuantas veces fue vista cada pagina de una seccion de mi web, abro este tema para ver si con esos datos, y alguno mas, se puede hacer un top-ten que muestre las diez paginas mas vistas de esa seccion.

Estuve investigando y encontre esto:

Las primeras 12 lineas son las que me dio el usuario mariomon17 para hacer el contador, luego siguen las del top-ten.

<?php
//poner el nombre dado al negocio en la base de datos
$negocio = "minegocio";
$con = mysql_connect("localhost","vehiculo_forotan","**** ");
mysql_select_db ("vehiculo_contador",$con);
$sentencia = "UPDATE contador SET visitas=visitas+1 WHERE nombre='".$negocio."' ";
mysql_query($sentencia) or die("Error1");
$sentencia = "SELECT visitas FROM contador WHERE nombre='".$negocio."'";
$dato = mysql_query($sentencia) or die("Error2");
$array = mysql_fetch_array($dato);
$visitas = $array[0];
//aqui empieza el top-ten
$sentencia = "SELECT nombre, visitas FROM contador ORDER BY visitas desc LIMIT 10 ";
$link = mysql_query($sentencia) or die("Error3");
$array = mysql_fetch_array($link);
$milink = $array[0];
?>

y esto es lo que se pone en donde quieres que salga el top-ten:

<!--ini-top-ten-->
<h1><u>TOP TEN</u></h1><br/>
<div align="left"><?php while ($bbb = mysql_fetch_object($link)){
echo "La pagina de " . $bbb->nombre . " tuvo " . $bbb->visitas . "visitas<BR>";
}
?>
</div>
<!--fin-top-ten-->

El problema es que no muestra el que tendria que ir primero, o sea el que tiene mas visitas, y en al caso de que saque "desc" del codigo, no muestra el que tiene menos visitas.

Nota. Solo hay cinco campos creados y muestra siempre cuatro.

Pueden mirarlo en
www.forotandil.com.ar/minegocio

Aqui es donde aprend a hacer el contador:
http://www.forosdelweb.com/f18/conta...52/index2.html


Gracias por su atencion.

Última edición por waldragon; 29/01/2011 a las 14:41 Razón: Agregue unos datos mas...
  #2 (permalink)  
Antiguo 29/01/2011, 16:21
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años
Puntos: 34
Respuesta: Como hacer un top-ten de paginas mas visitadas de mi web

A mi me sale en orden!
  #3 (permalink)  
Antiguo 30/01/2011, 00:07
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como hacer un top-ten de paginas mas visitadas de mi web

Hola, si, salen en orden, pero empieza a mostrar desde el segundo con mas visitas...el primero con mas visitas es "PICZA", ve a "PICZA" con el menu de la izquierda, y veras que tiene mas de treinta visitas, deberia salir primero...!, luego vuelve a "MINEGOCIO" y actualizalo para que su contador pase a "PICZA", entonces veras que en TOP-TEN no muestra mas a "MINEGOCIO" y pero si a "PICZA", o sea, muestra el segundo, eltercero, el cuarto y el quinto...pero no el primero...que raro, no?

Última edición por waldragon; 30/01/2011 a las 00:16
  #4 (permalink)  
Antiguo 30/01/2011, 07:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 846
Antigüedad: 15 años
Puntos: 34
Respuesta: Como hacer un top-ten de paginas mas visitadas de mi web

¿Cual es la utilida de esto:
$array = mysql_fetch_array($link);
$milink = $array[0];
?
  #5 (permalink)  
Antiguo 30/01/2011, 14:09
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como hacer un top-ten de paginas mas visitadas de mi web

No, se, creo que quedo de mas mientras probaba distintos ejemplos que encontre en google, lo saco para ver si es eso lo que genera el problema.
  #6 (permalink)  
Antiguo 30/01/2011, 14:36
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años, 5 meses
Puntos: 55
Respuesta: Como hacer un top-ten de paginas mas visitadas de mi web

Tenias razon mariomon17, esas dos lineas estaban de mas, ahora se ven...!!! todos

Agregue un campo "ID" y le di auto_increment para hacer que muestre los ultimos agregados, es increible lo que se puede hacer con esto, me esta gustando

//ULTIMOS AGREGADOS
$sentencia = "SELECT id, nombre, visitas FROM contador ORDER BY id desc LIMIT 10 ";
$ult = mysql_query($sentencia) or die("Error4");

y en el body:

<!--ini-ultimos-agregados-->
<h1><u>ULTIMOS AGREGADOS</u></h1><br/>
<div align="left"><?php while ($ccc = mysql_fetch_object($ult)){
echo "<u><i>Negocio numero <b>" . $ccc->id . "</b> - <b>" . $ccc->nombre . "</b> tuvo un total de <b>" . $ccc->visitas . "</b> visitas. </i></u><BR>";
}
?>
</div>
<!--fin-ultimos-agregados-->

Pueden verlo en el mismo enlace de antes... www.forotandil.com.ar/minegocio

Para seguir avanzando, me gustaria mostrar estos resultados en un link, que lleve a la pagina a la que hace referencia.

Probe creando un campo "url" en donde ingrese la direccion entera, pero lo imprime como texto, estuve mirando en un script que muestra los mas votados, con mas puntos, etc, y usa <link></link> y <url></url>, pero no me sale, podrias darme un norte???

Etiquetas: contador, mysql, ten, top
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 06:20.