Foros del Web » Programando para Internet » Javascript »

Asignar arreglo php a uno javascript.

Estas en el tema de Asignar arreglo php a uno javascript. en el foro de Javascript en Foros del Web. Que tal amigos. He aquí con una gran problema pasar como parámetro un arreglo generado por una función php a una variable (tipo arreglo) JavaScript. ...
  #1 (permalink)  
Antiguo 12/05/2003, 17:50
 
Fecha de Ingreso: septiembre-2002
Mensajes: 38
Antigüedad: 21 años, 8 meses
Puntos: 0
Asignar arreglo php a uno javascript.

Que tal amigos.

He aquí con una gran problema pasar como parámetro un arreglo generado por una función php a una variable (tipo arreglo) JavaScript.

La forma básica de pasar parámetros entre ambos lenguajes es como sigue:

<script language="JavaScript1.2">

var varjavascript = <? echo $varphp ?>

</script>


En base a lo anterior lo que yo estoy haciendo es:

<script language="JavaScript1.2">

var messages=new Array()
messages = <? echo $varmessages = mtaNewsAll_Ret("si",7); ?>

</script>

Vale decir asigno la salida de la función mtaNewsAll_Ret, que es un arreglo, a la variable $varmessages, pero lo que resulta de esto es:

messages = Array

y en pantalla se visualiza "undefined".


De antemano muchas gracias a todos.

Atte,
cryanez
  #2 (permalink)  
Antiguo 12/05/2003, 18:33
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 5 meses
Puntos: 7
Cryanez:

Imagino que la línea

Código:
<? echo $varmessages = mtaNewsAll_Ret("si",7); ?>
Imprime los elementos del array separados por comas ¿no?. Y veo que estás usando el constructor para crear un nuevo array. Ahora bien, no creo que la anterior línea de código imprima los paréntesis.

Entonces, debería quedar de este modo (usando el constructor):

Código:
var messages=new Array(<? echo $varmessages = mtaNewsAll_Ret("si",7); ?>); 
o bien usando una literal de array:

Código:
var messages=[<? echo $varmessages = mtaNewsAll_Ret("si",7); ?>]; 
Espero que te pueda ser útil.
Saludos
  #3 (permalink)  
Antiguo 13/05/2003, 14:44
 
Fecha de Ingreso: septiembre-2002
Mensajes: 38
Antigüedad: 21 años, 8 meses
Puntos: 0
Bueno encontre la solución basandome un poco en el comentario anterior.

De la siguiente forma:
--------------------------------------------------------------------------------
var messages = Array(<? mtaNewsAll_Ret("si",7); ?>);
--------------------------------------------------------------------------------

Dentro de la función PHP (mtaNewsAll_Ret) tuve que poner, al final, un ciclo "for" con un "echo" para cada elemento del vector resultante.

De esta manera, dicho contenido es asignado a la variable JavaScript como si fuera lo siguiente:

--------------------------------------------------------------------------------
var messages = Array("hola","a","todos");
--------------------------------------------------------------------------------

Ojala les sirba, gracias a todos y hasta la próxima.

Atte,
Cryanez
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 14:33.