Ver Mensaje Individual
  #12 (permalink)  
Antiguo 02/12/2012, 07:50
ofertasdiarias
 
Fecha de Ingreso: marzo-2011
Mensajes: 115
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Saber cantidad de visitas a anuncio

hola lo he hecho asi visitas.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.       if ((isset($_SESSION['MM_Username'])) &&( $_SESSION['MM_Username']) != "")
  4.       include('contador.php');
  5.  
  6. {
  7.    
  8. echo " Tu anuncio tiene   $num_visitas  de visitas";
  9. }
  10.  
  11. ?>

contador.php

Código PHP:
Ver original
  1. <?php require('/Connections/hoysale.php'); ?>
  2.  
  3.  <?php
  4.  
  5. //conf.php, archivo de configuración de la base de datos
  6.  
  7.  
  8. //IP DEL VISITANTE
  9.  
  10. $ip = $_SERVER['REMOTE_ADDR'];
  11.  
  12. /*Seleccionamos la ip, la diferencia en tiempo entre la fecha actual y la almacenada
  13.  
  14. * en la base de datos, con la función de mysql TIMEDIFF(fecha de inicio, fecha final)
  15.  
  16. */
  17.  
  18. $sql="select ip, TIMEDIFF (NOW(), fecha), fecha, num_votos from contador where ip='$ip'";
  19.  
  20. //Ejecutamos la instrucción SQL
  21.  
  22. $rs=mysql_query($sql) or die("Problemas al ejecutar select SQL ".mysql_error());
  23.  
  24. /*Almacenados el resultado de la instrucción SQL en un arreglo asociativo con la función
  25.  
  26. mysql_fetch_array */
  27.  
  28. $fila=mysql_fetch_array($rs);
  29.  
  30. $tiempo=$fila[1]; //Diferencia entre fecha guardada y fecha actual
  31.  
  32. $num_visitas=$fila[3]; //Número de visitas
  33.  
  34. $horas_t=substr($tiempo,0,2); //Número de horas transcurridas
  35.  
  36. $tiemRes = 5; //Varible de tiempo en horas para restringir la visita
  37.  
  38. /*Contamos el número de registros obtenidos en la consulta anterior, si el numero
  39.  
  40. * obtenido es igual a cero es porque dicho visitante es nuevo en el sito
  41.  
  42. * entonces agregamos su ip a la base de datos junto con un 1 y la fecha actual */
  43.  
  44. if (mysql_num_rows($rs)==0)
  45.  
  46. {
  47.  
  48. $sql="insert into contador(ip, num_votos, fecha) values('$ip', 1, NOW())";
  49.  
  50. mysql_query($sql) or die("Problemas al ejecutar la insert SQL ".mysql_error());
  51.  
  52. }
  53.  
  54. /* Si el número de registros obtenidos es mayor a cero es porque dicho visitante ha vuelto a ingresar al
  55.  
  56. * sitio, y si su tiempo transcurrido es mayor a 5 horas desde la primera vez que ingreso
  57.  
  58. * entonces actualizamos su número de votos agregando sumando 1 al valor actual,
  59.  
  60. * tambien actualizamos la fecha de su ultimo ingreso a la fecha actual
  61.  
  62. * */
  63.  
  64. //Si la ip existe y han transcurrido 5hrs
  65.  
  66. elseif (mysql_num_rows($rs) > 0 && $horas_t > $tiemRes)
  67.  
  68. {
  69.  
  70. $sql="update contador set fecha=NOW(), num_votos='$num_votos'+1 where ip='$ip'";
  71.  
  72. mysql_query($sql) or die("Problemas al ejecutar update SQL ".mysql_error());
  73.  
  74. }
  75.  
  76. $sql="select SUM(num_votos) from contador"; //Obtenemos la suma de todas las visitas
  77.  
  78. $rs=mysql_query($sql) or die("Problemas al ejecutar select SQL ".mysql_error());
  79.  
  80. $fila=mysql_fetch_array($rs); //Almacenanos el resultado de la consulta en un arreglo
  81.  
  82. $num_visitas=$fila[0]; //Número de visitas
  83.  
  84.  
  85. ?>

bueno es lo mejor que he conseguido jejejeje

lo que no me sale es como hacer para que le aparezca a cada usuario su numero de visitas en si y no las que tienen los demas?

gracias!!!