Foros del Web » Programando para Internet » PHP »

extraño comportamiento mysql

Estas en el tema de extraño comportamiento mysql en el foro de PHP en Foros del Web. Hola Estoy trabajando en un site.. que en determinadas pags. lleva un contador de visitas.. el contador es un metodo de una clase... creo un ...
  #1 (permalink)  
Antiguo 16/08/2005, 06:01
 
Fecha de Ingreso: octubre-2003
Mensajes: 117
Antigüedad: 14 años, 1 mes
Puntos: 0
extraño comportamiento mysql

Hola
Estoy trabajando en un site.. que en determinadas pags. lleva un contador de visitas.. el contador es un metodo de una clase...
creo un objeto de dicha clase, y llamo al metodo una sola vez... pero este me registra como si hubiesen sido 3 visitas.

no entiendo... al final de mi pag... ya justo antes de cerrar mi conexion mysql, hago una consulta mysql al contador de visitas.. y este me registra que solo se ha agregado 1 visita, lo que cabria esperar... pero cuando reviso mi base de datos mysql.. se han registrado 3.. y al volver a cargar la pag.. efectivamente son 3 las visitas q se contabilizaron anteriormente!

Me he asegurado de que haya un solo objeto, una sola llamada pero me registra como si fueran 3!
si le digo que en vez de sumarme de 1 en 1 las visitas, me la sume de 3 en 3.. me registra 9 (3+3+3)!... o sea.. como si llamara el metodo 3 veces.

He creado una variable global (un contador q registra las veces q es llamado dicho metodo)... y en el metodo compruebo que si esta variable supera a 1, el script se termine.. haga un DIE!... pero no, no llega a eso.. o sea, el metodo solo se llama una vez!

Por último, he creado otra tabla, para registras solamente fechas..
y en el mismo metodo, he hecho que ademas de contabilizarme las visitas, me agregue un registro a la nueva tabla...
lo insolito es que las visitas se suman de 3 en 3.. pero solo agrega 1 registro a la tabla de fechas!!!!

a alguien le ha pasado esto alguna vez?.. muchas gracias!
__________________
www.lsddigital.net
  #2 (permalink)  
Antiguo 16/08/2005, 07:03
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pon algo de codigo de como extraes el numero actual del contador y como le sumas el valor

Un Saludo
  #3 (permalink)  
Antiguo 16/08/2005, 07:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 117
Antigüedad: 14 años, 1 mes
Puntos: 0
Este es mi código simple... dentro de la class categorias

Código PHP:
...
function 
agregar_visita()
    {
    
$consulta 'SELECT visitas FROM categorias WHERE idcategoria='.$idcat;
    
$resultado $bd->query_sql($consulta); // Realiza el query en mysql
    
$registro mysql_fetch_row($resultado); 
    
$bd->liberar($resultado);   //Libera el recurso del sistema
    
$visitas $registro[0] + 1// Suma 1 al nro. de visitas
    
$update 'UPDATE categorias SET visitas="'.$visitas.'" WHERE idcategoria="'.$idcat.'"';
    
$bd->query_sql($update); //Realiza la actualización del registro
    
}
        
... 
como dije, he verificado que solamente se llame 1 vez a este metodo.. pero bueno.. inexplicable el porque hace eso.

De hecho, aisle el código en un simple archivo php.. que incluye la clase de base de datos, y la de categorias.. y si me funciona.. me agrega una visita.. pero todo junto, en el sistema.. con cada clase declarada en archivos diferentes, y todo el rollo que lleva un sistema y nada.. me funciona mal a pesar de que he depurado el código bastante en busca de un error....

he llegado a pensar que se trata más de un pronblema de mysql que de php.. porque como dije... he comprobado de muchas formas que sólo se llame a ese metodo 1 sola vez.. y nada.. aunque el php me diga que solo agrega 1 visita, y me lo comrpuebe.. una vez finalizado el script de la pag. se reflejan 3 visitas en la base de datos.

Gracias por tu respuesta
__________________
www.lsddigital.net
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 13:39.