PHP - ¿Cómo pasar array de objetos desde php a javascrip

   
Vista:

¿Cómo pasar array de objetos desde php a javascrip

Publicado por Leire (1 intervención) el 17/02/2009 13:08:17
Hola a todos!

Tengo un script en php que saca datos de una base de datos. Estos datos los convierte en objetos y los va metiendo en un array. Al finalizar, este array tiene que pasarse a una función javascript para que ella los manipule y los visualice en el navegador.

Sería algo así:

<?php

$consultasql="fjañsf";
$vector_resultados=array();
while(saco_resultado_consulta){
$id=fields[0];
$nombre=fields[1];
.....
Miobjeto obj=new MiObjeto($id, $nombre);
array_push($vector_resultados, obj);
}

?>

Desde javascript

<script >
function recogedatos(){
var vectordatos=DATOS_RECOGIDOS_DESDE_PHP
}
</script>

¿Alguien sabe cómo hacerlo?

Muchas gracias por adelantado!

Un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Cómo pasar array de objetos desde php a javasc

Publicado por webness (73 intervenciones) el 17/02/2009 18:26:22
Hola, lo que tienes que hacer es: crear la funcion de JS DINAMICAMENTE DESDE PHP, es decir que del el mismo modo que crear html dinamicamente lo puedes hacer con js.

<?php
arrayObjetos = tuFuncionDeConsulta();

echo "<script language=javascript>";
//tu algoritmo JS pero escrito en php, por ejemplo:
for($i=0;$i<count(arrayObjetos);i++)
{
echo "alert('EL NOMBRE DEL USUARIO ES: '+".$arrayObjetos[$i]->getNombre()
+"')";
}
echo "</script>"
?>

Algo asi por el estilo es que te toca hacer.

lo cual te dara una salida:

<script language=javascript>
alert("EL NOMBRE DE USUARIO ES: "+PEPE);
alert("EL NOMBRE DE USUARIO ES: "+FILOMENA);
alert("EL NOMBRE DE USUARIO ES: "+RAMON);
...........
...........
...........
...........
</script>

Esa es la idea, espero te sirva y la puedas ajustar a tus necesidades, o te de claridad..

Tambien puedes usar frameworks de ajax para php como xajax, con los cuales tus resultados dephp son pasados a objetos JS, no escribi cuales porque nunca lo he hecho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar