Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/06/2012, 15:39
Avatar de Lynxcraft
Lynxcraft
 
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 5 meses
Puntos: 51
Respuesta: Problema Variable Global

no se pero podrías evitar conflictos por nombres como poe ejemplo poner esto

Código PHP:
var __v=[];
var 
__v2=[];
var 
__dia=[]; 
de esta manera que aseguras de que únicas como te muestra el ejemplo cristian_cena

si estas cargando las variables con valores obtenidos por medio de ajax y json o simplemente cargas un nuevo script ,ahi el esta problema ya que este proceso tarda un tiempo en ejecutarse por lo que las funciones dentro de la pagina terminaran de ejecutarse antes de que la petición con los nuevos valores llegue, por lo que tienes que hacer es cargarlas primero,

Código PHP:
<script type="text/javascript">
function 
loadScript(urlcallback){
    
    var 
script document.createElement("script");
    
script.type "text/javascript";
    if (
script.readyState){  //IE
        
script.onreadystatechange = function(){
            if (
script.readyState == "loaded" ||
                    
script.readyState == "complete"){
                
script.onreadystatechange null;
                if(
typeof callback == "function"
                    
callback();
            }
        };
    } else {  
//Others
        
script.onload = function(){
           if(
typeof callback == "function")
                
callback();
        };
    }
    
script.src url;
    
document.getElementsByTagName("head")[0].appendChild(script);
}

var 
v=[];
var 
v2=[];
var 
dia=[];
            
           function 
recibe(name){
                var 
regexS "[\\?&]"+name+"=([^&#]*)";
                var 
regex = new RegExp regexS );
                var 
tmpURL window.location.href;
                var 
results regex.exectmpURL );
                if( 
results == null )
                    return 
"";
                else
                    return 
results[1];
            }
           
            function 
callTheJsonp(fn){
                var 
reci=recibe('periodo');
                var 
url "http://www.trueware.mx/eduardo/mycommerce/ventadiaria.php?callback=parseRequest&periodo="+reci;
                
loadScript(url,fn);
            }
           
           function 
parseRequest(response)
            {
                try
                {
                    
console.log(response);
                    var 
venta=[];
                    var 
prod=[];
                    var 
acum=0;
                    for (var 
i=0response.lengthi++) 
                    {
                        
venta[i] = eval(response[i].venta);
                        
prod[i] = eval(response[i].dia);
                        
acum=acum+venta[i]; 
                    }
                    for(var 
i=032i++)
                    {
                        
v[i]=0;
                        
dia[i]=i;
                    }
                    for (var 
i=0prod.lengthi++) 
                    {
                        
v[prod[i]]=venta[i];
                    }
                    var 
li document.createElement("LI");
                    
li.innerHTML '<font size=2>'+'Venta Total: '+acum+'</font>';
                    var 
ul document.getElementById("contenido");
                    
ul.appendChild(li);
                }
                catch(
an_exception)
                {
                    
document.write("Error de Conexion");
                }
            }
            function 
callTheJsonp2(fn)
            {
                var 
reci=recibe('periodo');
                var 
url "http://www.trueware.mx/eduardo/mycommerce/ventadiaria12.php?callback=parseRequest2&periodo="+reci;
          
                
                
loadScript(url,fn);
            }
           
           function 
parseRequest2(response)
            {
                try
                {
                    
console.log(response);
                    var 
venta=[];
                    var 
prod=[];
                    for (var 
i=0response.lengthi++) 
                    {
                        
venta[i] = eval(response[i].venta);
                        
prod[i] = eval(response[i].dia);
                    }
                    for(var 
i=032i++)
                    {
                        
v2[i]=0;
                    }
                    for (var 
i=0prod.lengthi++) 
                    {
                        
v2[prod[i]]=venta[i];
                    }
                }
                catch(
an_exception)
                {
                    
document.write("Error de Conexion");
                }
            }
            function 
grafica(venta,venta2,dia)
            {
                var 
line1 = new RGraph.Line('line1'venta,venta2);
                
line1.Set('chart.background.grid'true);
                
line1.Set('chart.linewidth'5);
                
line1.Set('chart.gutter.left'35);
                
line1.Set('chart.hmargin'5);
                
line1.Set('chart.tickmarks''circle');
                
line1.Set('chart.units.post''$');
                
line1.Set('chart.colors', ['red''green']);
                
//line1.Set('chart.curvy', 1);
                
line1.Set('chart.curvy.factor'0.25);
                
line1.Set('chart.labels',dia);
                
line1.Set('chart.background.grid.hlines'false);
                
line1.Set('chart.background.grid.autofit.numvlines'11);
                
line1.Draw();
            }
            function 
primero()
           {
               
callTheJsonp(function(){
                    
callTheJsonp2(function(){
                           
alert(v);
                           
alert(v2);
                           
alert(dia);
                           
grafica(v,v2,dia);
                    });
               });
              ;
               
               
           }

</script> 
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft