Foros del Web » Programando para Internet » PHP »

PHP + FusionCharts + Ajax

Estas en el tema de PHP + FusionCharts + Ajax en el foro de PHP en Foros del Web. Buenas explico brevemente mi caso. Quiero que al dar click sobre X elemento (imagen,texto.... en este csao imagen) se cargue dinámicamente en la parte inferior ...
  #1 (permalink)  
Antiguo 11/05/2012, 12:42
Avatar de exitoso23487  
Fecha de Ingreso: enero-2009
Mensajes: 49
Antigüedad: 15 años, 10 meses
Puntos: 8
PHP + FusionCharts + Ajax

Buenas explico brevemente mi caso. Quiero que al dar click sobre X elemento (imagen,texto.... en este csao imagen) se cargue dinámicamente en la parte inferior un gráfico.
Al probar el gráfico en una sola página me funciona perfectamente y por cualquier método (DataURL o DataStr que es como prefiero trabajarlo).

Código de la página inicial
Código HTML:
<?php
include_once('funciones.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript" src="fusion_chart/Charts/FusionCharts.js"> </script>
<script language="javascript" src="interfax_ajax.js"> </script>
</head>
<body>
<img src="http://www.forosdelweb.com/f18/Lenel/vista/img/ok.png" width="50px" height="50px" onclick="graficar('grafico',1,8807893)" />
<br />
<div id="grafico"></div>
</body>
</html> 
Código de la página Javascript con el objeto Ajax (sólo cóloco la función que me hace la "conexión")
Código:
function graficar(marca,numero,valor){//vv=1
	ajax=nuevoAjax();
	
	ajax.open("GET", "ajax.php?vv="+numero+"&ced="+valor,true);
	
	ajax.onreadystatechange=function(){//
		if(ajax.readyState==4){
			document.getElementById(marca).innerHTML=ajax.responseText;
		}
	}
	ajax.send(null);
}
Código de la página ajax.php (la cual recibe los datos del código anterior)

Código PHP:
<?php
include_once('funciones.php');
include(
'fusion_chart/Code/PHP/Includes/FusionCharts.php');
?>
<?php
$vv
=$_GET['vv'];//recibimos el identificador de textos a devolver de este archivo
if($vv==1){
$cedula=$_GET['ced'];

$cone=Conectarse();
$vec=array();
$mes="06";
$year="2011";
$dia="01";
$ini=$year.$mes.$dia;
$fin=$year.$mes.dias_fecha($mes);

$final=$year.$mes.dias_fecha($mes);
$sql="SELECT
hora,
fecha
FROM
data_acceso
WHERE
FLT_CEDULA = '$cedula' AND
EVENTIME BETWEEN '"
.$ini." 00:00:00.000' AND '".$fin." 23:59:59.000'
ORDER BY EVENTIME ASC"
;
$result=mssql_query($sql,$cone);
$first=mssql_fetch_array($result);

$band=0;
$cont=1;
$day=strtotime($first['fecha']);
$hour=$first['hora'];

$strxml.="<chart caption='Horas Trabajadas por día' xAxisName='Dia' yAxisName='Horas' showValues='0' formatNumberScale='0' decimalSeparator='.' yAxisMinValue='0' yAxisMaxValue='14' forceYAxisValueDecimals='2'  yAxisValueDecimals='2' decimals='2' showBorder='1'>\n";
$v=array();//vector que va a guardar la data de salida
$i=0;

do{
    
$cont++;
    if(
$band==0){//para el primer registro
        
$band=1;
        
$row=mssql_fetch_array($result);
        
$h1=$hour;
        
$strxml=$strxml."<set label='".fecha_estandar($first['fecha'])."' value='";                
    }
    if(
$day!=obtener_dia($row['fecha'])){//si hubo cambio de dia        
                
$strxml=$strxml.horas_trabajadas_fraccion(horas_trabajadas($h1,$hour))."' />\n";
        
$i++;
        
$strxml=$strxml."<set label='".fecha_estandar($row['fecha'])."' value='";
        
$h1=$row['hora'];
    }
    if(
$cont==mssql_num_rows($result)) {//si es el ultimo registro
        
$strxml=$strxml.horas_trabajadas_fraccion(horas_trabajadas($h1,$row['hora']))."' />\n";

    }
    
$day=obtener_dia($row['fecha']);
    
$hour=$row['hora'];    
}while(
$row=mssql_fetch_array($result));
$strxml $strxml."</chart>";
echo 
renderChart("fusion_chart/Charts/Column3D.swf"""$strxml"Primero"600600falsetrue);

?>
<?php
}
?>
Sólo me imprime la palabra "Chart" en la página inicial.
De antemano gracias.

Última edición por exitoso23487; 11/05/2012 a las 13:52
  #2 (permalink)  
Antiguo 15/05/2012, 08:38
Avatar de exitoso23487  
Fecha de Ingreso: enero-2009
Mensajes: 49
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: PHP + FusionCharts + Ajax

Por sea caso ya logre resolver el "problema" hace días.
Posteo por aca la "solución".

Código PHP:
echo renderChartHTML("fusion_chart/Charts/Column3D.swf"""$strxml"Primero"600600falsetrue); 
Como se puede ver sólo cambie de función de "renderChart" a "renderChartHTML"

Etiquetas: ajax, fusioncharts, html, registro, sql
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 13:13.