Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2006, 11:37
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Haces muchos cálculos con fechas en PHP cuando deberías hacerlos en SQL directamente. (bueno .. el resultado en el fondo es el mismo, pero soy "pro-SQL" (hacer las cosas en SQL si se puede antes de meter "PHP" u otro lenguaje por médio para el mismo fin).

Ese campo "time" deberías usar un campo de fecha con hora de Mysql: DATETIME y así operar con SQL en cuanto a fechas. O no usar un campo "varchar" sino un "int" y guardar ahí un "time stamp" de unix que es lo que al final resulta más cómodo en principio para operar (y así lo usas).

Otra duda:
¿que objetivo tiene:?

if($hours!=0) {
$num1 = mysql_result(mysql_query("SELECT COUNT(ip) FROM ".$prefix."users_online WHERE time>'".$curtime."'-'".$secs."'"),0);
$num2 = mysql_result(mysql_query("SELECT COUNT(ip) FROM ".$prefix."users_online"),0);
} else {
$num1 = mysql_result(mysql_query("SELECT COUNT(ip) FROM ".$prefix."users_online WHERE time>'".$curtime."'-'".$secs."'"),0);
}

Sobre todo:
$num2 = mysql_result(mysql_query("SELECT COUNT(ip) FROM ".$prefix."users_online"),0);
(sobra?, está de más?)

En consecuencia .. sea como sea la condición de tu "if()" siempre das valor a $num1 de la misma forma .. Creo que el if() en general está de más .. no?

Otro detalle más:
¿Por qué los nombres de variables y sobre todo comentarios o mensajes de error en ingles?. (recuerda que con fines "educacionales" ya que somos de habla hispana sería recomendable usar el castellano para todo).

Un saludo,