Foros del Web » Programando para Internet » PHP »

Enlaces más visitados [TOP 5]

Estas en el tema de Enlaces más visitados [TOP 5] en el foro de PHP en Foros del Web. ¿Cómo puedo realizar hacer para que cada vez que alguien pulsa un enlace, esto se registre a su vez en un campo de la base ...
  #1 (permalink)  
Antiguo 14/02/2011, 08:34
 
Fecha de Ingreso: enero-2011
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 2
Enlaces más visitados [TOP 5]

¿Cómo puedo realizar hacer para que cada vez que alguien pulsa un enlace, esto se registre a su vez en un campo de la base de datos llamado "visitas" para cada enlace?

PD: No tengo un .php para cada enlace obviamente...
PD2: Me interesaría hacerlo solo con PHP y MySQL ya que no conozco otro lenguaje.
  #2 (permalink)  
Antiguo 14/02/2011, 08:41
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Enlaces más visitados [TOP 5]

solo haces una consulta al inicio

UPDATE visitas SET pagina = pagina + 1

saludos.
  #3 (permalink)  
Antiguo 14/02/2011, 08:56
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 14 años, 3 meses
Puntos: 20
Respuesta: Enlaces más visitados [TOP 5]

necesitas tener registrados todos los enlaces en una tabla y con un campo llamado visitas, despues si necesitarias que cada enlace pase por un .php para que puedas hacer un update para el contador de visitas.

o si va a un html necesitarias mandar la actualizacion por un ajax y tambien necesitas kontrolarlo porque si se recarga la pagina te aumentaria el count y no seria correcto.

Saludos!
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #4 (permalink)  
Antiguo 14/02/2011, 10:16
 
Fecha de Ingreso: enero-2011
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Enlaces más visitados [TOP 5]

Cita:
Iniciado por Hidek1 Ver Mensaje
solo haces una consulta al inicio

UPDATE visitas SET pagina = pagina + 1

saludos.
Ya he dicho que no tengo cada enlace en una página diferente, si no sí que sería fácil.

Bet70, la tabla con los enlaces y el campo visitas lo tengo hecho lo que no sé como hacer es esto que has dicho:

Cita:
despues si necesitarias que cada enlace pase por un .php para que puedas hacer un update para el contador de visitas.
  #5 (permalink)  
Antiguo 14/02/2011, 10:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Enlaces más visitados [TOP 5]

Cita:
Ya he dicho que no tengo cada enlace en una página diferente, si no sí que sería fácil.
de alguna forma tienes que estar modularizando
si no es en archivos diferentes en lo que sea...
al mencionar inicio me refiero a donde empiezas el codigo de la pagina.. no necesariamente un archivo nuevo
  #6 (permalink)  
Antiguo 14/02/2011, 11:12
 
Fecha de Ingreso: enero-2010
Ubicación: Madrid
Mensajes: 22
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Enlaces más visitados [TOP 5]

Vamos a ver, voy a intentar aclararte y aclararme.

Lo que yo he entendido es que tienes un top 5 que apuntan a enlaces externos a tu web. Bueno el caso de si son externos o internos da igual.

Lo que podrias hacer es crearte un script llamemosle "Top.php" y añadirle una variable get llamemosla "goto" y, en el script "Top.php" escribir en base de datos al principio de dicho script y, posteriormente, redireccionar con el comando de PHP.

Código PHP:
Header("Location:".$_GET['goto']); 
y en donde tengas el script del top 5 apuntar con los enlaces a "Top.php?goto="La url del top que sea" "

Es una posibilidad, que no la única.
  #7 (permalink)  
Antiguo 17/02/2011, 12:11
 
Fecha de Ingreso: enero-2011
Mensajes: 29
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Enlaces más visitados [TOP 5]

Pues lo siento si no os entiendo pero a ver...

Yo simplemente quiero que al pulsar en un enlace hecho con html...

Cita:
echo "<a href='$link' id = 'enlace'><img src='$foto'></a>";
...aumente el registro VISITAS de la base de datos, ¿es eso posible?

$link y $foto son el enlace yla ruta de la foto que coje de la base de datos.
  #8 (permalink)  
Antiguo 17/02/2011, 13:36
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Enlaces más visitados [TOP 5]

Ok Sencillo en cada enlace, ejemplo:

index.html

Código HTML:
<a href="sumador.php?check=1" target="_self">Foros del Web</a>
<a href="sumador.php?check=2" target="_self">Google</a>
<a href="sumador.php?check=3" target="_self">Youtube</a>
<a href="sumador.php?check=4" target="_self">Facebook</a>
<a href="sumador.php?check=5" target="_self">Twitter</a> 
Sumador.php

Código PHP:
$id $_GET[check];
$sql="UPDATE visitas SET pagina = pagina + 1 where id=".$id."";
mysql_query($sql,$link);
if(
$id==1){
echo
"<SCRIPT>location.href = 'http://www.forosdelweb.com';</SCRIPT>";
}
if(
$id==2){
echo
"<SCRIPT>location.href = 'http://www.google.com';</SCRIPT>";
}
if(
$id==3){
echo
"<SCRIPT>location.href = 'http://www.youtube.com';</SCRIPT>";
}
if(
$id==4){
echo
"<SCRIPT>location.href = 'http://www.facebook.com';</SCRIPT>";
}
if(
$id==5){
echo
"<SCRIPT>location.href = 'http://www.twitter.com';</SCRIPT>";


Que es lo que hacen:


index.html
Este archivo tendra los enlaces, que todos enviaran a sumador.php, pero solo enviaran una variable en la URL

sumador.php
Recibe la variable check, que es una variable de URL, la asigna a la variabla $id

hace un update en la tabla visitas, donde pagina es un valor int, el update sumara en el campo pagina, donde el id sea igual a la variable $id, tu deseas que numero de variable enviarle.

despues del update, los if's checan a cuanto equivalen y asi deciden donde enviar automaticamente


cualquier duda estoy pendiente del tema
__________________
No Deseo Suerte, Porque la Suerte es para la gente que no esta preparada, Te Deseo Exito ;D

http://www.paulpalacios.tk

Etiquetas: enlaces, 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 05:26.