Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/08/2005, 13:22
Avatar de ZydRick
ZydRick
 
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
problema con grafico estadistico GD

weno, he pillao un script para mostrar en un grafico estadistico los usuarios enlinea (anonimos y registrados):

online.php
Código PHP:
<?

include("config.php") ;
$fecha time() ;
// Tiempo en el cuál se considerará al usuario en línea en minutos
$tiempo 10 ;
// Se le resta el tiempo en minutos a la fecha actual
$tiempo $fecha-$tiempo*60 ;
$ip $REMOTE_ADDR ;
$usuario $_SESSION["usuario"] ;
// Se eliminan las fechas que sean menores al tiempo límite
mysql_query("delete from uenlineavis where fecha < $tiempo") ;
mysql_query("delete from uenlineareg where fecha < $tiempo") ;
// Para los usuarios no registrados
$resp mysql_query("select ip from uenlineavis where ip='$ip'") ;
if(
mysql_num_rows($resp) == 0) {
mysql_query("insert into uenlineavis values ('$ip','$fecha')") ;
}
else {
mysql_query("update uenlineavis set fecha='$fecha' where ip='$ip'") ;
}
mysql_free_result($resp) ;
// Para los usuarios registrados
if($_SESSION["usuario"]) {
$resp mysql_query("select usuario from uenlineareg where usuario='$usuario'") ;
if(
mysql_num_rows($resp) == 0) {
mysql_query("insert into uenlineareg values ('$usuario','$fecha')") ;
}
else {
mysql_query("update uenlineareg set fecha='$fecha' where usuario='$usuario'") ;
}
mysql_free_result($resp) ;
}
// Se obtiene el número de usuarios en línea
$resp mysql_query("select ip from uenlineavis") ;
// Número de usuarios
$usuarios mysql_num_rows($resp) ;
mysql_free_result($resp) ;
$resp mysql_query("select usuario from uenlineareg") ;
// Número de registrados
$registrados mysql_num_rows($resp) ;
mysql_free_result($resp) ;
// Número de anonimos
$anonimos $usuarios $registrados ;

// Sacamos datos...
$porciento $anonimos 360 100;   

// Creamos la imágen
$width 180;    
$height 72;    
$image imagecreate($width$height);   

// Ponemos el fondo transparente
$transparente imagecolorallocate($image000);
imagecolortransparent($image$transparente);

// Colores, los que tiene 2 o son lo que son mas oscuros
$dentro1 imagecolorallocate($image2051121);
$dentroo1 imagecolorallocate($image167921);
$dentro2 imagecolorallocate($image5108213);
$dentroo2 imagecolorallocate($image489174);
$negro imagecolorallocate($image000);
$azul imagecolorallocate($image00255);
$tol imagecolorallocate($image000);

// Este for hara el efecto 3dmensional
// Poniendo 10 circulos abajo de la imagen con el color
// que este en el circulo mas oscuro.
for ($i 40$i 30$i##) {
    
imagefilledarc ($image39$i65500$porciento$dentroo1IMG_ARC_PIE);
    
imagefilledarc ($image39$i6550$porciento360 $dentroo2IMG_ARC_PIE);
}

// Dibujo el circulo y lo divido en sus partes...
imagefilledarc ($image393065500$porciento$dentro1IMG_ARC_PIE);
imagefilledarc ($image39306550$porciento360 $dentro2IMG_ARC_PIE);

// Leyenda
imagestring($image,2,80,5,"Leyenda:",$negro);

// Usuarios registrados:
imagefilledrectangle($image80208525$dentro2);
imagestring($image,1,89,19,"Registrados:",$negro);
imagestring($image,1,155,19,$registrados,$azul);


// Usuarios anonimos:
imagefilledrectangle($image80308535$dentro1);
imagestring($image,1,89,29,"Anonimos:",$negro);
imagestring($image,1,155,29,$anonimos,$azul);

// Enviamos la imágen al navegador...         
header("Content-type: image/png");
imagepng($image);   
imagedestroy($image);
?>
las tablas son estas:
Código PHP:
CREATE TABLE `uenlineareg` (
`
usuariovarchar(20NOT NULL default '',
`
fechaint(10unsigned NOT NULL default '0',
PRIMARY KEY (`usuario`),
KEY `fecha` (`fecha`)
TYPE=MyISAM;

CREATE TABLE `uenlineavis` (
`
ipvarchar(15NOT NULL default '',
`
fechaint(10unsigned NOT NULL default '0',
PRIMARY KEY (`ip`),
KEY `fecha` (`fecha`)
TYPE=MyISAM
he puesto esto donde kiero mostrar el grafico <img src="online.php">
el caso es ke el script es para un sistema de usuarios con cookies pero el mio es con sesiones y pues cambie en la parte donde decia $_COOKIE["nick"] por mi variable de sesion y no funciona, tengo la libreria GD en mi hosting, pero no funciona, alguien me puede ayudar ??

Un saludo

Última edición por ZydRick; 01/08/2005 a las 13:27