Foros del Web » Programando para Internet » Javascript »

Array PHP a javascript o DOM

Estas en el tema de Array PHP a javascript o DOM en el foro de Javascript en Foros del Web. Tengo el siguiente array mostrado a traves de un print_r en php Array ( [0] => Array ( [0] => cod_empresa [1] => num_identificacion [2] ...
  #1 (permalink)  
Antiguo 12/02/2008, 08:44
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
Sonrisa Array PHP a javascript o DOM

Tengo el siguiente array mostrado a traves de un
print_r en php
Array
(
[0] => Array
(
[0] => cod_empresa
[1] => num_identificacion
[2] => razon_social
[3] => representante
[4] => tipo_empresa
[5] => telefono
[6] => direccion
)

[1] => Array
(
[0] => 1
[1] => 805029800
[2] => Empresa 1
[3] => Juliana
[4] => Propia
[5] => 475-89-96
[6] => Cr. 9 No. 9-54
)

[2] => Array
(
[0] => 2
[1] => 14528964
[2] => Empresa 2
[3] => Diego
[4] => Propia
[5] => 4516789
[6] => Cll 1 No. 13-27
)
MI duda es como hago para que tome estos datos y
convertirlos en una matriz javascript o mejor
tomarlos y hacerlo con DOM, en realidad he buscado
informacion pero no se como hacerlo, espero me colaboren.
  #2 (permalink)  
Antiguo 12/02/2008, 13:12
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Podrías convertirlos a json para luego evaluarlos con javascript:
http://ar.php.net/manual/es/function.json-encode.php
Y aquí tenés 5 maneras diferentes de evaluar json en javascript (no se me ocurrieron más, si a alguien sí, que me diga para incluirla en la lista):
http://www.disegnocentell.com.ar/new...los.php?id=174

Última edición por Panino5001; 12/02/2008 a las 13:18
  #3 (permalink)  
Antiguo 13/02/2008, 10:03
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Array PHP a javascript o DOM

la verdad he implementado este algoritmo y funciono pero con el tipo de array que le envio no funciona, tambien busque que en esta web
http://www.bin-co.com/php/scripts/array2json/ pero igual ...................nada

espero me brindes otra orientacion al respecto.....muchas gracias....
  #4 (permalink)  
Antiguo 13/02/2008, 10:37
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Esto es una réplica de la estructura que colocaste como print_r, y funciona correctamente:
Código PHP:
<?php
$algo
=array(
    array(
'cod_empresa','num_identificacion','razon_social','representante','tipo_empresa','telefono','direccion'),
    array(
1,805029800,'Empresa 1','Juliana','Propia','475-89-96','Cr. 9 No. 9-54'),
    array(
2,14528964,'Empresa 2','Diego','Propia','4516789','Cll 1 No. 13-27')
);
?>
<script>
obj=new Function('return <?php echo json_encode($algo?>')();
alert(obj[1][3]); //devuelve Juliana
alert(obj[2][2]);//devuelve Empresa 2
</script>
Ahora, si el print_r es otro, mostranos y vemos.

Última edición por Panino5001; 13/02/2008 a las 10:44
  #5 (permalink)  
Antiguo 15/02/2008, 10:47
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Array PHP a javascript o DOM

Muchas gracias por tus aportes, me han llenado de conocimiento te cuento que no me funcionaba por que no tenia la versión de php valida >=5.2.0, la instale y funciono de perlas, pero en la aplicación web que estoy trabajando todo se distorsiona.......

te cuento que tengo la version de apache 2.0.50 y php 5.0.3 y todo funciona bien
menos json_encode, claro toca bajar una libreria y listo se instancia y trabaja bien.......

He intentado actualizar la version de php y apache con lo ultimo pero me generan errores, espero me puedas recomendar algo al respecto........

P.D. manejo Adodb espero no tenga problemas con las nuevas versiones de php
  #6 (permalink)  
Antiguo 15/02/2008, 14:22
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Probé el enlace que colocaste más arriba (la función array2json, que no requiere php5) y también me funcionó correctamente. A esta altura sospecho que tu problema debe pasar por otro lado.
Esta fue mi prueba:
Código PHP:
<?php
function array2json($arr) {
    
$parts = array();
    
$is_list false;

    
//Find out if the given array is a numerical array
    
$keys array_keys($arr);
    
$max_length count($arr)-1;
    if((
$keys[0] == 0) and ($keys[$max_length] == $max_length)) {//See if the first key is 0 and last key is length - 1
        
$is_list true;
        for(
$i=0$i<count($keys); $i++) { //See if each key correspondes to its position
            
if($i != $keys[$i]) { //A key fails at position check.
                
$is_list false//It is an associative array.
                
break;
            }
        }
    }

    foreach(
$arr as $key=>$value) {
        if(
is_array($value)) { //Custom handling for arrays
            
if($is_list$parts[] = array2json($value); /* :RECURSION: */
            
else $parts[] = '"' $key '":' array2json($value); /* :RECURSION: */
        
} else {
            
$str '';
            if(!
$is_list$str '"' $key '":';

            
//Custom handling for multiple data types
            
if(is_numeric($value)) $str .= $value//Numbers
            
elseif($value === false$str .= 'false'//The booleans
            
elseif($value === true$str .= 'true';
            else 
$str .= '"' addslashes($value) . '"'//All other things
            // :TODO: Is there any more datatype we should be in the lookout for? (Object?)

            
$parts[] = $str;
        }
    }
    
$json implode(',',$parts);
    
    if(
$is_list) return '[' $json ']';//Return numerical JSON
    
return '{' $json '}';//Return associative JSON

$algo=array(
    array(
'cod_empresa','num_identificacion','razon_social','representante','tipo_empresa','telefono','direccion'),
    array(
1,805029800,'Empresa 1','Juliana','Propia','475-89-96','Cr. 9 No. 9-54'),
    array(
2,14528964,'Empresa 2','Diego','Propia','4516789','Cll 1 No. 13-27')
);
?>
<script>
obj=new Function('return <?php echo array2json($algo?>')();
alert(obj[1][3]); //devuelve Juliana
alert(obj[2][2]);//devuelve Empresa 2
</script>
  #7 (permalink)  
Antiguo 18/02/2008, 13:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Array PHP a javascript o DOM

Listo ahora ya investigue algo interesante para aquellos con dificultad de tener librerias nuevas..

aqui encontre esto:
http://www.sugarcrm.com/forums/showthread.php?t=14126&page=2&pp=10

luego baje de aqui la libreria php_json.dll <http://pecl4win.php.net/ext.php/php_json.dll>

volvi a instalar el php 5.0.3 y el apache 2.056 y solo agregue el modulo json_dll
y listo me funciona todo bien.....

Ahora solo hace falta poco para volverlo una matriz javascript
....y gracias por colaborarme.......
espero seguir contando con tu ayuda....
  #8 (permalink)  
Antiguo 20/02/2008, 14:46
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
Busqueda Una ultima ayuda

Listo ya instale la libreria json para php y funciona bien.....
ahora intento con los datos que sales del array javascript
generar una tabla.....peo con DOM, he intentado casi de todo
y no tengo idea de desarrollar esto.....espero me des luces.

Gracias..
  #9 (permalink)  
Antiguo 20/02/2008, 15:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Te referís a crear una tabla html?
  #10 (permalink)  
Antiguo 20/02/2008, 15:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Array PHP a javascript o DOM

si.. pero con DOM
  #11 (permalink)  
Antiguo 20/02/2008, 15:07
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Bueno. Prepararé algo con comentarios y lo postearé ;)
  #12 (permalink)  
Antiguo 20/02/2008, 15:22
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Array PHP a javascript o DOM

Ahí va:
Código PHP:
<?php
$algo
=array(
    array(
'cod_empresa','num_identificacion','razon_social','representante','tipo_empresa','telefono','direccion'),
    array(
1,805029800,'Empresa 1','Juliana','Propia','475-89-96','Cr. 9 No. 9-54'),
    array(
2,14528964,'Empresa 2','Diego','Propia','4516789','Cll 1 No. 13-27')
);
?>
<!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=iso-8859-1" />
<title>test</title>
<script>
function crear(){
algo=new Function('return <?php echo json_encode($algo?>')();
/*
alert(obj[1][3]); //devuelve Juliana
alert(obj[2][2]);//devuelve Empresa 2
*/
//creamos la tabla
t=document.createElement('table');
//le ponemos, si queremos, algún atributo
t.border='1';
//creamos un elemento tbody para que funcione en todos los navegadores DOM
tb=document.createElement('tbody');
//recorro los índices primarios del objeto
for (i in algo){
//creamos un renglón para cada índice primario del objeto
    tr=document.createElement('tr');
//recorremos los índices secundarios y creamos celdas en cada paso
    for (j in algo[i]){
        td=document.createElement('td');
//agregamos texto a la celda
        td.appendChild(document.createTextNode(algo[i][j]));
//agregamos la celda al renglón
        tr.appendChild(td);
    }
//agregamos el renglón al cuerpo de la tabla
    tb.appendChild(tr);
}
//agregamos el cuerpo a la tabla
t.appendChild(tb);
//agregamos la tabla al body de la página
document.getElementsByTagName('body')[0].appendChild(t);
}
//llamamos a la función que crea la tabla cuando se carga la página
window.onload=crear;
</script>

</head>

<body>
</body>
</html>
  #13 (permalink)  
Antiguo 20/02/2008, 15:35
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Array PHP a javascript o DOM

Listo muchas gracias por el aporte, me ayuda a complementar lo que tengo.
estoy muy agradecido....espero seguir consultándote para aprender y aportar
mas a este foro....

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 09:18.