Foros del Web » Programando para Internet » PHP »

como puedo contar clicks

Estas en el tema de como puedo contar clicks en el foro de PHP en Foros del Web. Estoy tratando de contar clicks pues no me modifica nada en el campo que va ir sumando. Esta es la estructura de mi tabla id ...
  #1 (permalink)  
Antiguo 23/06/2012, 19:15
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
como puedo contar clicks

Estoy tratando de contar clicks pues no me modifica nada en el campo que va ir sumando.

Esta es la estructura de mi tabla

id
imagen
cantclicks

el enlace que envia el id para que este sea modificado
Código HTML:
Ver original
  1. <a href="b.php?id=1">Vinculo a sitio web</a>

el cual si lo envia bien

y desde este codigo quiero ir contando clicks

Código PHP:
Ver original
  1. require_once("conexion.php");
  2.  
  3. $id=$_GET['id'];
  4.  
  5. mysql_select_db ("base_datos",$conexion);
  6.  
  7. $sql="SELECT * FROM productos WHERE id='$id'";
  8. $respuesta= mysql_query($sql,$conexion);
  9.  
  10. $r=mysql_fetch_array($respuesta);
  11. $temp=[cantclicks]+1;
  12.  
  13.  
  14.  
  15. $sql="update productos set cantclicks='$temp' where id='$id'";
__________________
:cool: aprendiz :cool:

Última edición por towi62; 23/06/2012 a las 19:27
  #2 (permalink)  
Antiguo 23/06/2012, 19:39
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 3 meses
Puntos: 139
Respuesta: como puedo contar clicks

Con solo decir

Código SQL:
Ver original
  1. $sql = "update productos set cantclicks = cantclicks + 1  where id = '$id'";
  2. mysql_query($sql);

Ya con esto se suma el campo en uno y no tienes que hacer todo ese codigo q tienes.

Saludos.
  #3 (permalink)  
Antiguo 23/06/2012, 19:41
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: como puedo contar clicks

Cita:
Iniciado por gjx2 Ver Mensaje
Con solo decir

Código SQL:
Ver original
  1. $sql = "update productos set cantclicks = cantclicks + 1  where id = '$id'";
  2. mysql_query($sql);

Ya con esto se suma el campo en uno y no tienes que hacer todo ese codigo q tienes.

Saludos.
gracias amigo, pues ya le puse ese parte de codigo, pero sigue sin incrementar el valor.
__________________
:cool: aprendiz :cool:
  #4 (permalink)  
Antiguo 23/06/2012, 19:55
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: como puedo contar clicks

En la etiqueta <a> se tiene la opción de usar un evento de nombre onclick yen este puede programar una función en JS para que realice el conteo que usted quiere y depura aplica ajad para almacenarlo en la base de datos.
  #5 (permalink)  
Antiguo 23/06/2012, 20:10
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: como puedo contar clicks

Cita:
Iniciado por fjrueda Ver Mensaje
En la etiqueta <a> se tiene la opción de usar un evento de nombre onclick yen este puede programar una función en JS para que realice el conteo que usted quiere y depura aplica ajad para almacenarlo en la base de datos.
y no se puede con puro php
__________________
:cool: aprendiz :cool:
  #6 (permalink)  
Antiguo 24/06/2012, 08:17
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como puedo contar clicks

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once("conexion.php") ;
  4.  
  5. $id = $_GET['id'] ;
  6.  
  7. mysql_select_db ("base_datos",$conexion) ;
  8.  
  9. $sql = "SELECT * FROM productos WHERE id = '$id' " ;
  10. $respuesta = mysql_query($sql,$conexion);
  11.  
  12. $row = mysql_fetch_array($respuesta);
  13. $clicks = $row['cantclicks']+1;
  14.  
  15. $sql_ = "UPDATE productos SET cantclicks = '$clicks'  WHERE id = '$id'";
  16. mysql_query($sql_,$conexion);
  17.  
  18. ?>
  #7 (permalink)  
Antiguo 24/06/2012, 10:14
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: como puedo contar clicks

Si claro con PHP, ese codigo que tiene usted y que muy amablemente webankenovi ha corregido, lo invoca por medio de AJAX, lo que entiendo esque usted quiere hacerlo desde el momento en que se genera el evento "Click -> onClick()", por eso eque le hago mi sugerencia.

Código HTML:
Ver original
  1. <a onClick("contarlclick();" href="b.php?id=1")>Vinculo a sitio web</a>

Código Javascript:
Ver original
  1. funcion contarclick()
  2. { "referencia que usa y que se envia para que AJAX procese el PHP con el Update" }

Porque propongo este metodo ??, porque si se hace un acceso que no sea con el click, el update se va a ejecutar de todas formas y se crearia un valor que no es cierto.
  #8 (permalink)  
Antiguo 24/06/2012, 10:20
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como puedo contar clicks

Cita:
Iniciado por fjrueda Ver Mensaje
Porque propongo este metodo ??, porque si se hace un acceso que no sea con el click, el update se va a ejecutar de todas formas y se crearia un valor que no es cierto.
añadimos una verificacion antes de :

1- añadimos el campo v en la url

Código PHP:
Ver original
  1. <a href="b.php?id=1&v=true">Vinculo a sitio web</a>



2- comprobamos si exite el campo v en la url si no es asi no aztualizamos asi solo se aztualizan las visitas de dicho link

Código PHP:
Ver original
  1. <?php
  2.  
  3. require_once("conexion.php") ;
  4.  
  5. if(isset($_GET['id']) && isset($_GET['v'])){
  6.    
  7.  
  8. $id = $_GET['id'] ;
  9.  
  10. mysql_select_db ("base_datos",$conexion) ;
  11.  
  12. $sql = "SELECT * FROM productos WHERE id = '$id' " ;
  13. $respuesta = mysql_query($sql,$conexion);
  14.  
  15. $row = mysql_fetch_array($respuesta);
  16. $clicks = $row['cantclicks']+1;
  17.  
  18. $sql_ = "UPDATE productos SET cantclicks = '$clicks'  WHERE id = '$id'";
  19. mysql_query($sql_,$conexion);
  20.  
  21. }else{
  22.  
  23. echo'no viene del link asique no aztualizamos';
  24.  
  25. }
  #9 (permalink)  
Antiguo 24/06/2012, 10:31
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: como puedo contar clicks

Bien por eso webankenovi, es otra opcion mas, yo pense en ella pero tambien pense que de esa forma se puede copiar y pegar el link y no seria tampoco un click.

Pero es otra idea muy valida para towi, ahora intentelo, trabajelo y nos cuenta como le termino de ir.
  #10 (permalink)  
Antiguo 24/06/2012, 10:37
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como puedo contar clicks

si esperemos que le valga y que ya nos cuente , tu forma es muy valida @fjrueda pero creo que el usuario no quiere usar ajax ni nada por el estilo , por eso creo dijo no se puede hacer con puro php??

saludo a todos
  #11 (permalink)  
Antiguo 24/06/2012, 10:40
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 19 años
Puntos: 890
Respuesta: como puedo contar clicks

Cita:
Iniciado por fjrueda Ver Mensaje
Bien por eso webankenovi, es otra opcion mas, yo pense en ella pero tambien pense que de esa forma se puede copiar y pegar el link y no seria tampoco un click.

Pero es otra idea muy valida para towi, ahora intentelo, trabajelo y nos cuenta como le termino de ir.
Tu opción también es fácilmente "hackeable" lo mejor es usar un hash en la url y sessiones, pero creo eso escapa el primer interes del usuario, que es solo ir aumentando el valor +1
__________________
Drupal Argentina
  #12 (permalink)  
Antiguo 31/08/2012, 13:27
 
Fecha de Ingreso: abril-2005
Mensajes: 253
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: como puedo contar clicks

pues yo lo hice masomenos, se que me hace falta modificar otras cosillas, como inyecciones de seguridad.

Código PHP:
Ver original
  1. <?
  2. $conexion = mysql_connect("localhost", "root", "12345678");
  3. mysql_select_db("contador", $conexion);
  4.  
  5.     $cantidad_actual = "SELECT * FROM contar ORDER BY total_clicks ASC";
  6.     $resEmp = mysql_query($cantidad_actual, $conexion) or die(mysql_error());
  7.     $totEmp = mysql_num_rows($resEmp);
  8.  
  9.  
  10.       if ($totEmp> 0) {
  11.        while ($rowEmp = mysql_fetch_assoc($resEmp)) {
  12.   $id="7";//<<----Aki podria ser el nombre del usuario
  13.   $cantidad_nueva=$rowEmp['total_clicks']+1;
  14.  
  15.          
  16.          mysql_select_db("contador",$conexion);
  17.     $sql = "UPDATE contar SET total_clicks='$cantidad_nueva' WHERE id = '$id'";
  18.     mysql_query($sql);
  19.  
  20.        }
  21.     }
  22.  
  23. ?>
__________________
:cool: aprendiz :cool:
  #13 (permalink)  
Antiguo 31/08/2012, 13:52
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 8 meses
Puntos: 35
Respuesta: como puedo contar clicks

Código PHP:
Ver original
  1. $cantidad_actual = "SELECT MAX(total_clicks) FROM contar ORDER BY total_clicks ASC";
  2.     $resEmp = mysql_query($cantidad_actual, $conexion) or die(mysql_error());
  3.     $totEmp = mysql_num_rows($resEmp); ---> no seria tan necesario, con la consulta como se la corrijo consume menos recursos y trae de una vez el dato que quiere.
  4.  
  5.   $rowEmp = mysql_fetch_assoc($resEmp))
  6.   $numero = $rowEmp['total_clicks'];
  7.  
  8.   if($numero>= 0 || empty($numero))
  9.   { $numero = 0; }
  10.  
  11.   $cantidad_nueva=$numero+1;

Es un pequeño aportey u opinion, y ya resolvio como va a invocar el update ??

Etiquetas: clicks, mysql, sql, tabla
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 12:14.