Foros del Web » Programando para Internet » PHP »

problema con grafico estadistico GD

Estas en el tema de problema con grafico estadistico GD en el foro de PHP en Foros del Web. 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  ...
  #1 (permalink)  
Antiguo 01/08/2005, 14:22
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 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 14:27
  #2 (permalink)  
Antiguo 01/08/2005, 14:56
 
Fecha de Ingreso: abril-2003
Ubicación: 127.0.0.1
Mensajes: 359
Antigüedad: 14 años, 8 meses
Puntos: 0
sabes te recomiendo que utilizes esta herramienta de graficos, es super buena, he realizado maravillas con ella en mis sistemas php.

se llama jpgraph , si tu hosting es linux te recomiendo que utilizes esta version jpgraph 1.18

espero averte ayudado ne algo .. cuentame
__________________
Practicando se Aprede
:-) :-)
  #3 (permalink)  
Antiguo 01/08/2005, 15:10
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
weno gracias, pero por ahora kiero saber la falla del script ke he posteado
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 08:20.