Foros del Web » Programando para Internet » PHP »

obtener indice con foreach

Estas en el tema de obtener indice con foreach en el foro de PHP en Foros del Web. holaa muy buenas, Me gustaria por favor que me ayudaran a obtener el indice, ya que solo extraigo el nombre del xml, pero el indice ...
  #1 (permalink)  
Antiguo 13/09/2010, 20:09
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Sonrisa obtener indice con foreach

holaa muy buenas,
Me gustaria por favor que me ayudaran a obtener el indice, ya que solo extraigo el nombre del xml, pero el indice no lo consigo, este es el codigo
Código PHP:
<select name="action">
<option value="">Escoger de la Lista</option>
<?php
foreach($sitemap->children() as $key=>$content) {

echo 
"<option value='".$key."'>".$key"</option>";
}
?>
</select>
  #2 (permalink)  
Antiguo 13/09/2010, 20:17
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: obtener indice con foreach

hola,
$sitemap->children() que te trae?
  #3 (permalink)  
Antiguo 13/09/2010, 20:25
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

realmente codigo es asin
Código PHP:
<select name="action">
<option value="">Escoger de la Lista</option>
<?php
$source 
'content.xml';
// load as string
$xmlstr file_get_contents($source);
$sitemap = new SimpleXMLElement($xmlstr);
// load as file
$sitemap = new SimpleXMLElement($source,null,true);
foreach(
$sitemap->children() as $key=>$content) {
$atributo $content->attributes();
echo 
"<option value='".$key."'>".$content->getName(). "</option>";
}
?>
</select>
pero al mostra datos
con
Código PHP:
".$content->getName(). " 
me trae gallery y gallery
pero yo quiero que me traiga 0 y 1
  #4 (permalink)  
Antiguo 13/09/2010, 20:33
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: obtener indice con foreach

nunca use el simple xml pero estas seguro que el array que te trae esta bien? es decir tiene los indices? yo haria un print_r de lo que te trae $sitemap->children() y de lo que te trae el getname()
  #5 (permalink)  
Antiguo 13/09/2010, 21:03
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

pues me parece que no esta bien, pero como trae dos veces gallery eso esta bien, pero sigue
sin traer los indices
  #6 (permalink)  
Antiguo 13/09/2010, 21:17
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: obtener indice con foreach

hiciste el print_r??? nos puedes mostrar q te trajo?? a veces los indices de los array son palabras, no estoy seguro si el xml lo trae de esa manera pero si te fijas como un ejemplo cuando traes datos de la bd se le coloca como indice el nombre del campo o no??? es solo un ejemplo revisa a ver y muestranos que te trae el print_r del arreglo que intentas mostrar con el foreach saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 14/09/2010, 03:17
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

print_r ($sitemap->children()); me trae lo siguiente
Código PHP:
SimpleXMLElement Object ( [gallery] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Name] => Hostal [Folder] => Gallery/hostal ) [image] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Thumb] => thumb0.jpg [Large] => 0.jpg [Caption] => Hostal Regina [Colour] => 181f0a ) [comentarios] => SimpleXMLElement Object ( ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Thumb] => thumb1.jpg [Large] => 1.jpg [Caption] => Hostal Regina [Colour] => 181f0a ) [comentarios] => SimpleXMLElement Object ( ) ) ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Name] => Vistas [Folder] => Gallery/nerja ) [image] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [Thumb] => thumb0.jpg [Large] => 0.jpg [Caption] => Vista Nocturna [Colour] => eeeeeee ) [comentarios] => SimpleXMLElement Object ( ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [Caption] => eeeeeee ) [comentarios] => http://php-design-patterns.com ) ) ) ) ) 
la verdad como no lo consiga todo el trabajo habra sido en vano, ya que si no puedo obtener los indices, entonces no puedo indicarle en que galeria puedo insertar modificar o borrar.
muchas gracias espero vuestra ayuda
  #8 (permalink)  
Antiguo 14/09/2010, 07:43
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

Otra pregunta para intentar resolverlo, no se podian contar los registros que me trae que son dos, y que me muestre esos dos registros a partir 0 y luego 1, y asin poden vincularlo
se podria hacer, teneis alguna idea mas
  #9 (permalink)  
Antiguo 14/09/2010, 09:38
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: obtener indice con foreach

fijate que lo que te trae no es un array con indices sino un array asociativo, por eso la key son palabras
  #10 (permalink)  
Antiguo 14/09/2010, 09:50
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

gracias por la aclaracion, no tienes ninguna idea para resolverlo
  #11 (permalink)  
Antiguo 14/09/2010, 10:26
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 8 meses
Puntos: 3
Respuesta: obtener indice con foreach

he conseguido contar los registro,, pero ahora llega,, que no se construir alguna funcion o no se, en eso os pido ayuda, para que diga que depende el resultado, por ejemplo
Código PHP:
$bar_count $sitemap->gallery->count();
echo 
"$bar_count"//muestra 2 
si muestra 2, pues que el bucle de foeach muestre
Código PHP:
<select>
<
option>0</option>
<
option>1</option>
</
select
por favor como lo podria hacer??
gracias

Etiquetas: foreach, indice
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 00:04.