Autor
|
Tema: contador visitas interno MySQL (Leído 2,681 veces)
|
securedigital
Desconectado
Mensajes: 532
Do you enjoy with IBM OS/400 ¿
|
Hola a todos.
Saben de algun script que haga la funcion de un contador de visitas ( como los que hay en cualquier sitio de recursos web ) PERO que los usuarios no vean ese contador, de forma que pense en que cada vez que alguien entre al web se agrege en una BD mysql un numero , como si se tratara de un autoincrement asi sabiendo las visitas totales del site.
Alguna idea de como hacerlo o si ya esta el script hecho?
Saludos
|
|
|
En línea
|
The man who whispered to the computers Der Mann, der zu den Computern flüsterte FAD58DE7366495DB4650CFEFAC2FCD61
|
|
|
deya
Desconectado
Mensajes: 378
Muñeca Princesa Deya Bella
|
Pues sencillo: modifica tu código de tal forma que a la hora de contar las visitas las guarde en tu base de datos y elimina el echo del código para que no se muestre el número de visitas en el navegador. Salu2
|
|
|
En línea
|
"No es mas pobre el que tiene poco, sino el que mucho ambiciona" Charles Chaplin.
|
|
|
securedigital
Desconectado
Mensajes: 532
Do you enjoy with IBM OS/400 ¿
|
Hola Cogi un codigo y lo modifique un poquito, pero no me funciona, puede decirme que hay mal¿ <? $host="localhost"; $user="XXXXXXXXXXXX"; //usuari de la base de dades $pass="XXXXXXXXXXXX"; //password de la base de dades $db="estadisticas"; //nom de la base de dades
$conexion = mysql_connect($host,$user,$pass); mysql_select_db($db,$conexion); // $con es el identificador de la conexion con la base de datos function visitas($con) { // Tiempo que se guardará la cookie (Por defecto 10 minutos) $minutos = 10; // ------------------ $laFecha = getdate(); $mesActual = $laFecha["mon"]; $anioActual = $laFecha["year"]; $resultadoSQL = mysql_query("SELECT * from estadisticas WHERE mes=$mesActual AND año=$anioActual",$con); if(mysql_num_rows($resultadoSQL) == 0) { $actualizacion = mysql_query("INSERT INTO estadisticas (mes, año, visitas) VALUES ($mesActual, $anioActual, 0)",$con); } $resultadoSQL = mysql_query("SELECT SUM(visitas) from estadisticas",$con); $datosStats = mysql_fetch_row($resultadoSQL); $total = $datosStats[0]; $resultadoSQL = mysql_query("SELECT * from estadisticas",$con); $datosMensual = mysql_fetch_row($resultadoSQL); $elMes = $datosMensual[0]; $elAnio = $datosMensual[1]; $visitasDelMes = $datosMensual[2]; $visitante = $_COOKIE['misVisitas']; if(!isset($visitante)) { setcookie("misVisitas","visitante",time()+(60*$minutos),"/"); if($mesActual!=$elMes) { $delMes=0; } $total++; $visitasDelMes++; $actualización = mysql_query("UPDATE estadisticas set visitas=$visitasDelMes WHERE mes=$mesActual AND año=$anioActual",$con); } $resultadoVisitas[0] = $total; //Total de visitas en la página $resultadoVisitas[1] = $visitasDelMes; //Visitas totales del Mes actual return $resultadoVisitas; }
?>
|
|
« Última modificación: 28 Abril 2007, 18:44 pm por securedigital »
|
En línea
|
The man who whispered to the computers Der Mann, der zu den Computern flüsterte FAD58DE7366495DB4650CFEFAC2FCD61
|
|
|
securedigital
Desconectado
Mensajes: 532
Do you enjoy with IBM OS/400 ¿
|
Si el codigo esta tremendamente mal y no se puede arreglar " no lo he manipulado tanto...." habria algun otro que vosotros conozcais que cuente las visitas de la web en mysql¿
Saludoos
|
|
|
En línea
|
The man who whispered to the computers Der Mann, der zu den Computern flüsterte FAD58DE7366495DB4650CFEFAC2FCD61
|
|
|
SirLanceCC
|
Puedes hacer algo asi en el code de tu pagina bla bla bla bienvenidos a mi pagina <?php $ahora = time(); mysql_connect('localhost', 'user', 'pass'); mysql_db_select('database'); //No estoy seguro si es así o select_db mysql_query("INSERT INTO tabla VALUES ($ahora) "); ?>
Bueno algo así, se me hace lo más sencillo, se registrará la hora y dia en que se visito. Obviamente debes crear una tabla con un campo que sea un int(40) (de 40 bytes porque time devuelve unos enteros muy grandes). Luego puedes recuperar las visitas totales con mysql_query("SELECT count(*) FROM tabla"); creo que sería algo así. Espero sea de ayuda
|
|
|
En línea
|
|
|
|
securedigital
Desconectado
Mensajes: 532
Do you enjoy with IBM OS/400 ¿
|
Hola
Perfecto, ya lo tengo todo montado, incluso con nº de identificacion para usuarios con auto_increment , registro de las ip\\\'s y la hora.
Gracias
Ahora me surge un pequeño problema, esta tabla con el tiempo ira creciendo y se puede hacer enormeeee, por eso desde MySQL estaria bien limita la tabla a un maximo de registros, por ejemplo 1000 y que una vez llegue al nº 1001, en vez de crear mas registros, sustituya el registro nº 1 que se hizo hace muucho tiempo y así sucesiavamente, despues que sustituya al registro nº 2 , ....etc
La verdad es que no se como hacer esto con MySQL, o alguna cosa parecida para que la tabla no me llegue a ocupar decenas de MB, alguna idea?
Saludos
|
|
|
En línea
|
The man who whispered to the computers Der Mann, der zu den Computern flüsterte FAD58DE7366495DB4650CFEFAC2FCD61
|
|
|
|
|