Comunidad de diseño web y desarrollo en internet online

AJAX... :S

Citar            
MensajeEscrito el 08 Jun 2006 03:09 pm
Buenas!!

Jejeje, salgo de un problema y entro en otro XD...

Antes mi problema era generar graficos con Jpgraph, ahora lo hace... pero donde intento llamarlo desde ajax, toma la primera vez que lo llamo, y las proximas veces me devuelve el primer grafico...
Les dejo el codigo a ver si me pueden dar una mano plz...

index.php

Código :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
<link href="./estilos/style.css" rel="stylesheet" type="text/css">
<!--[if lte IE 6]><link href="./estilos/style_ie.css" rel="stylesheet" type="text/css"><![endif]-->
<script language="JavaScript" type="text/javascript" src="./js/codigo.js"></script>
<style type="text/css">
<!--
.clear{clear: both;}
-->
</style>
</head>

<body>

<div class="wrapper">
<!-- NAV -->
<?php
include 'nav.php';
?>
<!-- /NAV -->
</div>

<!-- CUERPO -->
<div id="container">
   <div id="barra">
   </div>
   <div class="clear">
   <div id="contenido"></div>
</div>
<!-- /CUERPO -->
<script language="javascript">
   llamarasincrono('inicio.php?level=<?php echo $_GET['userlevel']; ?>','contenido');
</script>
</body>
</html>


stats_cargo.php

Código :

<?php
session_start();
include ("../../functions/url.php");
include ("../../functions/database.php");
for($a = 1; $a < 6; $a++){
   $ask = "SELECT COUNT(cargolab) FROM usuarios WHERE cargolab = ".$a."";
   $query = mysql_query($ask,$conn);
   $zona[$a] = mysql_fetch_array($query);
   mysql_free_result($query);
}
$valores = array();
$textos = array();
$ask = "SELECT COUNT(cargolab) FROM usuarios";
$query = mysql_query($ask, $conn);
$total = mysql_fetch_array($query);
for($b = 1; $b < 6; $b++){
   $aux = $zona[$b][0] / $total[0] * 100;
   array_push($valores, $aux);
   switch($b){
      case 1:
         array_push($textos,'Concurrente');
      break;
      case 2:
         array_push($textos,'Residente');
      break;
      case 3:
         array_push($textos,'Staff');
      break;
      case 4:
         array_push($textos,'Jefe de servicio');
      break;
      case 5:
         array_push($textos,'Docente');
      break;
   }
}
$titulo = 'Estadisticas - Participantes - Cargo';
//ENVIO LOS DATOS CORRESPONDIENTES AL GRAFICO
$_SESSION['valores'] = $valores;
$_SESSION['textos'] = $textos;
$_SESSION['titulo'] = $titulo;
?>
cargo
<img src="./stats/grafico_tarta.php">


grafico_tarta.php

Código :

<?php
session_start();
include ("../graphs/jpgraph.php");
include ("../graphs/jpgraph_pie.php");
include ("../graphs/jpgraph_pie3d.php");

$data = $_SESSION['valores'];

$graph = new PieGraph(450,200,"auto");
$graph->img->SetAntiAliasing();
$graph->SetMarginColor('gray');
//$graph->SetShadow();

// Setup margin and titles
$graph->title->Set($_SESSION['titulo']);

$p1 = new PiePlot3D($data);
$p1->SetSize(0.35);
$p1->SetCenter(0.5);

// Setup slice labels and move them into the plot
$p1->value->SetFont(FF_FONT1,FS_BOLD);
$p1->value->SetColor("black");
$p1->SetLabelPos(0.2);

$nombres=$_SESSION['textos'];
$p1->SetLegends($nombres);

// Explode all slices
$p1->ExplodeAll();

$graph->Add($p1);
$graph->Stroke();
?> 


ajax.js

Código :

// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (url, id_contenedor)
{
    var pagina_requerida = false;
    if (window.XMLHttpRequest)
    {
        // Si es Mozilla, Safari etc
        pagina_requerida = new XMLHttpRequest ();
    } else if (window.ActiveXObject)
    {
        // pero si es IE
        try 
        {
            pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            // en caso que sea una versión antigua
            try
            {
                pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
            }
            catch (e)
            {
            }
        }
    } 
    else
    return false;
    pagina_requerida.onreadystatechange = function ()
    {
        // función de respuesta
        cargarpagina (pagina_requerida, id_contenedor);
    }
    pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
    pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
    if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
    document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}


Las páginas las carga (stats_cargo.php, stats_laboral.php, etc. Todas tienen la misma logica), el problema es que carga las paginas pero no cambia el grafico correspondiendo a los valores que les envia cada script...:S...
¿No sabrán que pueda ser lo que estoy errando?

Desde ya muchas gracias!!

Pablo

[/code]

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox
Citar            
MensajeEscrito el 08 Jun 2006 03:13 pm
XD... solucionado... jejeje...
Reemplacé:

Código :

<img src="./stats/grafico_tarta.php">


por:

Código :

<img src="./stats/grafico_tarta.php?cargo=TRUE">
<img src="./stats/grafico_tarta.php?lab=TRUE">


Supongo que tendria cifrada en disco la pagina y por eso no la volvia a cargar XD...

Exitos

Por _pablito_

Claber

190 de clabLevel



Genero:Masculino  

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.