Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/05/2005, 10:19
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Veo un problema con tu classe de contador ..

A tu classe le pasas todo para que se haga la conexión a la BD .. y las operaciones con la misma .. ¿que pasa si uso la BD para otras cosas en un mismo script? .. Creo que deberías separar el tema de la conexión .. sólo pasarle a tu classe a lo sumo el "link" de conexión o bien asumir el que esté en curso (aunque eso se presta a que se restaría funcionalidad si el contador está en otra BD (incluso servidor Mysql) y el resto en otro ...

Otro detalle ..

El "WHERE" .. para tu "UPDATE" realmente no entiendo .. a tu tabla SQL le falta un campo autonumérico y úníco ... el "famoso" ID que veras en muchos sitios .. Todo esto para que puedas tener N contadores que puedas trabajar .. a 1 contador por Registro de tu tabla "contador" .. o si no quieres eso (que realmente es útil para hacer versatil el sistema) ..

Te haces un lio con este cálculo para contar la visita no es nada óptmo (te explico por qué):
Código PHP:
/* consulta del total de visitas registradas */
    
$resultado mysql_query("SELECT numero_visitas FROM ".$this->tabla,$conex);

    
/* sacamos el resultado */
    
$fila mysql_fetch_row($resultado);

    
/* suma de visita */
    
$final $fila[0] + 1;

    
/* registro de la visita en la DB */
    
mysql_query("UPDATE contador SET numero_visitas=".$final." WHERE numero_visitas=".$fila[0],$conex); 
Se puede resumir en:
Código PHP:
mysql_query("UPDATE contador SET numero_visitas=numero_visitas+1 WHERE id_contador='".$id_contador."'",$conex); 
Eso sería para tener "multiples" contadores .. referenciados por su "IDentificador" único .. y sólo como "contador" .. Por qué sería intereante registrar "quien, de donde y en que fecha/hora se realizó la visita", registrar las visitas "únicas" y los "clicks" (accesos) ... y así sacar estadísticas por fecha .. por hora .. por "referido" (de donde) etc .. Pero bueno .. esto ya no es un "contador".

Si tu obtienes el total de registros de una consulta SQL y luego vía PHP los "cuentas" .. estás obteniendo el "total" de registros de dicho resultado que se pueda arrojar .. A lo sumo podrías usar: "SELECT COUNT(*) FROM tabla .. WHERE condicones si las necesitas".

Pero para tomar el valor de un campo e incrementarlo (u operar con el en resumen) .. con el "UPDATE" que te muestro sobra.

Un saludo,