Foros del Web » Programando para Internet » Javascript »

pasar array en php a una variable object de javascript

Estas en el tema de pasar array en php a una variable object de javascript en el foro de Javascript en Foros del Web. hola saludos para todos, tengo un grave problema. En un array en php imprime o tiene como salida esto: 6:[,27,28,],7:[,1,17,1,],11:[,14,] Esto tiene q recibirlo un ...
  #1 (permalink)  
Antiguo 19/07/2012, 13:09
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
pasar array en php a una variable object de javascript

hola saludos para todos, tengo un grave problema. En un array en php imprime o tiene como salida esto:

6:[,27,28,],7:[,1,17,1,],11:[,14,]

Esto tiene q recibirlo un javascript, por lo tanto necesito pasarlo a una
variable object de javascript q es:

var num= { arrayphp } dentro de las llaves necesito que este el array anterior osea

6:[,27,28,],7:[,1,17,1,],11:[,14,]

he probado miles d forma y no me resulta, gracias por las ayudas
  #2 (permalink)  
Antiguo 19/07/2012, 13:26
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 9 meses
Puntos: 220
Respuesta: pasar array en php a una variable object de javascript

En tu PHP primero debes tener tu cadena final de esta manera

Código PHP:
Ver original
  1. $cadena = '{"a":[4,5,6],"b":[1,2,3],"c":[7,8,9]}';

y en tu JS

Código Javascript:
Ver original
  1. var temp = '<?php echo $cadena;?>';
  2. var cadena = JSON.parse(temp);
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 19/07/2012, 13:53
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta Respuesta: pasar array en php a una variable object de javascript

Dradi7 Gracias!! por responder, hice lo q me dices pero sigue sin funcionar, ahora te cuento con mas detalle lo que estoy haciendo.

tengo este codigo q me trae las fechas divididas por año,mes y dia, para luego armar el array anterior php
Código PHP:
Ver original
  1. $mes ="";
  2.                     $mesant="";
  3.                     $array = array();
  4.                     while($resultado_campo22=mysql_fetch_assoc($resultado22))
  5.                     {
  6.                  $ano =$resultado_campo22['anioInicio'];
  7.                  $mes =$resultado_campo22['mesInicio']-1;
  8.                  $dia =$resultado_campo22['diaInicio'];
  9.                
  10.               if ($mes != $mesant){
  11.                         if ($mesant != ""){
  12.                         $array[]="], ";
  13.                         //echo "], ";                                              
  14.                                 }
  15.                   $array[]=$mes." : [";
  16.                   //echo $mes." : [";          
  17.                    }
  18.                 $array[]=$dia.",";
  19.               //echo $dia.",";                                             
  20.                                
  21.               $mesant =$mes;
  22.                  
  23.               }
  24.               $array[]="]";
  25.               //echo "]";
  26.              
  27.                foreach($array as $dato)
  28.                 echo $dato;

luego en una variable javascript debo hacer esto, para q me resalte los dia del candelario
Código Javascript:
Ver original
  1. var SPECIAL_DAYS = {
  2.     0 : [ 13, 24 ],            // special days in January
  3.     2 : [ 1, 6, 8, 12, 18 ],   // special days in March
  4.     8 : [ 21, 11 ]             // special days in September
  5.   };

pero si hago esto, si me funciona
Código Javascript:
Ver original
  1. var SPECIAL_DAYS ={6:[,27,28,],7:[,1,17,1,],11:[,14,]};

q es lo mismo q esta en el array php
  #4 (permalink)  
Antiguo 19/07/2012, 14:05
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 9 meses
Puntos: 220
Respuesta: pasar array en php a una variable object de javascript

Pero primero has un echo a tu cadena y mira que es lo que te devuelve te deberia devolver una estructura tal como esto {"a":[4,5,6],"b":[1,2,3],"c":[7,8,9]}

y luego aplicar el JSON.parse

dime si te genera error en algun punto
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 19/07/2012, 14:27
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: pasar array en php a una variable object de javascript

gracias, pero no es una cadena es un array y devuelve esto 6 : [,27,28,] ,7 : [,1,17,1,] ,11 : [,14,]

asi como esta con las comas q se ven demas, no me muestra error si hago esto
Código Javascript:
Ver original
  1. var SPECIAL_DAYS ={ 6 : [,27,28,] ,7 : [,1,17,1,] ,11 : [,14,] };

q hago :(
  #6 (permalink)  
Antiguo 19/07/2012, 15:27
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 9 meses
Puntos: 220
Respuesta: pasar array en php a una variable object de javascript

Pero a lo que yo voy es que te devuelve tu php
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 19/07/2012, 17:29
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta Respuesta: pasar array en php a una variable object de javascript

sip, si me muestra en pantalla el array php.

que debo hacer
  #8 (permalink)  
Antiguo 20/07/2012, 11:58
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 3 meses
Puntos: 51
Respuesta: pasar array en php a una variable object de javascript

creo que la consulta esta mal prueba con algo como esto

Código PHP:
<?php
$mes
="";
$mesant=""
$array = array();

while(
$resultado_campo22=mysql_fetch_assoc($resultado22)){
    
$ano =$resultado_campo22['anioInicio'];
    
$mes =$resultado_campo22['mesInicio']-1;
    
$dia =$resultado_campo22['diaInicio'];
    if(!
is_array($array[$mes]))$array[$mes]=array();
    
$array[$mes][]=$dia;
}

?>
<script type="text/javascript">
    var SPECIAL_DAYS = <?php echo json_encode($array);?>;
</script>
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #9 (permalink)  
Antiguo 23/07/2012, 13:47
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Pregunta Respuesta: pasar array en php a una variable object de javascript

muchas graciass a todos por responder.

Lynxcraft me funcionó con esa consulta que agregaste, te agredesco mucho por sacarme de este problema.

vaya!! sos sabes muchoLynxcraft,quiero aprender este nuevo tema para mi, me puedes decir q hizo json_encode, para q no alterara el arreglo al momento de pasarlo a javascript t agradesco mucho
  #10 (permalink)  
Antiguo 25/07/2012, 15:10
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
De acuerdo Respuesta: pasar array en php a una variable object de javascript

Cita:
Iniciado por Lynxcraft Ver Mensaje
creo que la consulta esta mal prueba con algo como esto

Código PHP:
<?php
$mes
="";
$mesant=""
$array = array();

while(
$resultado_campo22=mysql_fetch_assoc($resultado22)){
    
$ano =$resultado_campo22['anioInicio'];
    
$mes =$resultado_campo22['mesInicio']-1;
    
$dia =$resultado_campo22['diaInicio'];
    if(!
is_array($array[$mes]))$array[$mes]=array();
    
$array[$mes][]=$dia;
}

?>
<script type="text/javascript">
    var SPECIAL_DAYS = <?php echo json_encode($array);?>;
</script>
tu ayuda Lynxcraft fué muy buena,de nuevo muchas gracias,
mi problema se incremento porq me dijeron q debia estar el año asi en la variavle object:
me gustaria q me ayudara en esa consulta como hacer para q tambien el año quede dentro del array.
Código Javascript:
Ver original
  1. var SPECIAL_DAYS ={
  2.                        
  3. 2012:{6:[27,28,31],7:[1,17,1],11:[14]} ,          
  4. 2014:{2 : [ 1, 6, 8, 12, 18 ], 8 : [ 21, 11 ]} }
soy novato en esto cualquier ayuda es bienvenida gracias!!
  #11 (permalink)  
Antiguo 26/07/2012, 09:18
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 16 años, 3 meses
Puntos: 51
Respuesta: pasar array en php a una variable object de javascript

es básicamente trabajar como lo que ha echo para añadir los meses

Código PHP:
$ano =$resultado_campo22['anioInicio']; 
    
$mes =$resultado_campo22['mesInicio']-1
    
$dia =$resultado_campo22['diaInicio']; 
    if(!
is_array($array[$ano]))$array[$ano]=array(); 
    if(!
is_array($array[$ano][$mes]))$array[$ano][$mes]=array(); 
    
$array[$ano][$mes][]=$dia
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #12 (permalink)  
Antiguo 26/07/2012, 10:19
Avatar de fhabyo  
Fecha de Ingreso: julio-2012
Ubicación: Colombia
Mensajes: 13
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: pasar array en php a una variable object de javascript

gracias muchas gracias por tu ayudaaLynxcraft me funcionó

Etiquetas: object, php, variables
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 02:47.