Foros del Web » Programando para Internet » PHP »

PHP OO Leer y crear tabla con resultados de XML

Estas en el tema de Leer y crear tabla con resultados de XML en el foro de PHP en Foros del Web. Hola! Tengo que crear una tabla con todos los resultados de un XML con PHP y no logro hacerlo si alguien me da una mano ...
  #1 (permalink)  
Antiguo 05/09/2014, 04:59
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Pregunta Leer y crear tabla con resultados de XML



Hola!
Tengo que crear una tabla con todos los resultados de un XML con PHP y no logro hacerlo si alguien me da una mano por favor.
Tengo el XML ejemplo.xml
Código PHP:
<?xml version="1.0" encoding="utf-8" standalone="yes?>
<data>
<item title="
ProductoA" xml_load="750" prc="salida"></item>
<item title="
CargaA" xml_load="850" prc="entada"></item>
<item title="
ProductoC" xml_load="Agente" prc="espera"></item>
<item title="
Celular" xml_load="Nokia" prc="23456788"></item>
<item title="
Direccion" xml_load="Calle" prc="8765432"></item>
</data>
Y estoy intentando algo así, pero me da error y en el mejor de los casos me da una lista, necesito hacer una tabla, no tengo idea como hacerlo

Tengo el PHP ejemplo.php
Código PHP:
<?php
$archivo
='ejemplo.xml';

$usuarios=simplexml_load_file($archivo);

foreach(
$data as $item)
{
  echo 
'

'
;

  echo 
'Resultados';
  echo 
$item['title'];
  echo 
'

'
;
}
?>
Si me pueden dar una mano por favor y gracias!

  #2 (permalink)  
Antiguo 05/09/2014, 05:30
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Leer y crear tabla con resultados de XML

Una tabla html

Código PHP:
Ver original
  1. <?php
  2. $archivo='ejemplo.xml';
  3.  
  4. $usuarios=simplexml_load_file($archivo);?>
  5. <h1>Resultados</h1>
  6. <table width="100%" border="00" cellspacing="0" cellpadding="0">
  7.   <?php
  8. foreach($data as $item)
  9. {?>
  10. <tr>
  11.     <td><?php echo $item['title'];?></td>
  12.     <td><?php echo $item['xml_load'];?></td>
  13.     <td><?php echo $item['prc'];?></td>
  14. </tr>
  15. <?php } ?>
  16.   </table>

algo así?

No tengo claro ese foreach...pero si obtenias una lista asi obtendrás una tabla.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 05/09/2014 a las 05:36
  #3 (permalink)  
Antiguo 05/09/2014, 09:14
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Leer y crear tabla con resultados de XML

Me da error

Código PHP:
Warning: simplexml_load_file() [function.simplexml-load-file]: ejemplo.xml:1: parser error : String not closed expecting " or ' in /home/public_html/ejemplo.php on line 4

Warning: simplexml_load_file() [function.simplexml-load-file]: <?xml version="1.0" encoding="utf-8" standalone="yes?> in /home/public_html/ejemplo.php on line 4

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in /home/public_html/ejemplo.php on line 4

Warning: simplexml_load_file() [function.simplexml-load-file]: ejemplo.xml:17: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xF3 0x6E 0x20 0x4D in /home/public_html/ejemplo.php on line 4


Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in /home/public_html/ejemplo.php on line 4
Resultados

Warning: Invalid argument supplied for foreach() in /home/public_html/ejemplo.php on line 8
  #4 (permalink)  
Antiguo 05/09/2014, 10:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Leer y crear tabla con resultados de XML

En el foreach declara tus variables:

foreach ($data->item as $item){
$titulo = $item->title;

echo $titulo;
}

Asi seria, acomodalo es que estoy en el cel jeje espero te sirva.

Pd: veo que en $usuarios esta tu xml y despues en el foreach usas $data, por eso te da el error.
Saludos

Última edición por jee92; 05/09/2014 a las 10:18 Razón: observacion del codigo
  #5 (permalink)  
Antiguo 05/09/2014, 10:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Leer y crear tabla con resultados de XML

Aqui esta tu solucion:

Tu XML tendria que estar asi:

<?xml version="1.0"?>
<data>
<item title="ProductoA" xml_load="750" prc="salida"></item>
<item title="CargaA" xml_load="850" prc="entada"></item>
<item title="ProductoC" xml_load="Agente" prc="espera"></item>
<item title="Celular" xml_load="Nokia" prc="23456788"></item>
<item title="Direccion" xml_load="Calle" prc="8765432"></item>
</data>

Y tu codigo Php seria:

<?php
$xml = 'ejemplo.xml';
$usuarios = simplexml_load_file($xml);
echo'
<h1>Resultados</h1>
<table width="100%" border="00" cellspacing="0" cellpadding="0">
';
foreach($usuarios->item as $item){
$titulo = $item['title'];
$xml_load = $item[xml_load];
$prc = $item[prc];
echo'
<tr>
<td>'.$titulo.'</td>
<td>'.$xml_load.'</td>
<td>'.$prc.'</td>
</tr>
';
}
echo'
</table>
';
?>

y el Resultado es:

Resultados
ProductoA 750 salida
CargaA 850 entada
ProductoC Agente espera
Celular Nokia 23456788
Direccion Calle 8765432

Espero te sirva, puedes modificarlo a lo que necesitas.

Saludos
  #6 (permalink)  
Antiguo 05/09/2014, 13:18
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Leer y crear tabla con resultados de XML

Muy bien!

Era lo que necesitaba.
Ahora, cómo podría hacer para crear un php para cambiar el contenido del xml, ya sea borrar un producto o agregarle o borrarlo, creo que se llama ABM, como podía modificarlo? estoy buscando en internet pero todo lo que me aparece funciona con Base de Datos y no con XML.
  #7 (permalink)  
Antiguo 05/09/2014, 15:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Leer y crear tabla con resultados de XML

Si lo que quieres es generar un XML lo ideal seria que tengas una base de datos, o explicame como obtienes la informacion, o que necesitas hacer???
  #8 (permalink)  
Antiguo 06/09/2014, 18:32
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Leer y crear tabla con resultados de XML

Necesito poder modificar ese mismo XML con PHP, poder variar el contenido, borrando o agregando items, o cambiando el contenido de los que ya están creados (los parametros title, xml_load, prc), por completo.

Última edición por AJVEvoluzione; 08/09/2014 a las 08:11
  #9 (permalink)  
Antiguo 08/09/2014, 08:12
Avatar de AJVEvoluzione  
Fecha de Ingreso: agosto-2004
Ubicación: Buenos Aires
Mensajes: 195
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Leer y crear tabla con resultados de XML

Si alguien me da una manos ? ;(

Etiquetas: resultados, tabla, usuarios, xml
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 07:42.