Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/10/2015, 03:36
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Meter datos en un array asociativo

uncontroled duck, entiendo lo que dices y lo he aplicado a mi codigo y funciona pero hay un problema.

Te comento .

El asunto es que tengo que meter el nombre y la distancia orbital de cada asteroide mediante un formulario. y cuando meto los datos con el formulario de un nuevo asteroide solo me muestra el ultimo asteroide metido y no me muestra el listado de todos los asteroides metidos.

Ese es el problema que tengo.
Mira este es el codigo:

Código PHP:
Ver original
  1. $nombre = trim(($_POST['nombre']));
  2.     $distancia_orbital = trim(($_POST['distancia_orbital']));  
  3.    
  4.  
  5.     $asteroides = array();
  6.  
  7.     array_push($asteroides, array('clave_nombre'=>$nombre, 'valor_distancia_orbital' => $distancia_orbital));
  8.  
  9.  
  10.     foreach($asteroides as $valor)
  11.     {
  12.         echo "Nombre: " . $valor['clave_nombre'] . " | distancia orbital: " . $valor['valor_distancia_orbital'] . "<br/>";
  13.     }



Tambien he intentado esto otro con identico resultado, osea solo me muestra el ultimo asteroide introducido por el formulario y no me muestra el listado de todos los asteroides introducidos mediante el formulario.

Código PHP:
Ver original
  1. $nombre = trim(($_POST['nombre']));
  2.     $distancia_orbital = trim(($_POST['distancia_orbital']));
  3.  
  4.     $asteroides = array();
  5.  
  6.     array_push($asteroides, array($nombre=>$distancia_orbital));
  7.  
  8.  
  9.     foreach($asteroides as $clave=>$valor)
  10.     {
  11.         echo "Nombre: " . $nombre . " | distancia orbital: " . $distancia_orbital . "<br/>";
  12.     }


ahh en el formulario tengo esto:

Código HTML:
Ver original
  1. <form name="formulario" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
  2.  
  3. <input type="text" name="nombre" autofocus value="<?php if(isset($_POST['nombre']))?>" placeholder="Nombre"/>
  4.  
  5. <input type="text" name="distancia_orbital" value="<?php if(isset($_POST['distancia_orbital']))?>" placeholder="Distancia Orbital"/>
  6.  
  7. </form>





incluso lo he intentado de esta tercera manera y nada me sigue mostrando solo el ultimo introducido:

Código PHP:
Ver original
  1. $nombre = trim(($_POST['nombre']));
  2.     $distancia_orbital = trim(($_POST['distancia_orbital']));  
  3.  
  4.     $asteroides = array();
  5.  
  6.     $asteroides[$nombre] = $distancia_orbital;  
  7.  
  8.  
  9.     foreach($asteroides as $clave=>$valor)
  10.     {
  11.         echo "Nombre: " . $clave . " | distancia orbital: " . $valor . "<br/>";
  12.     }

Última edición por mensajeescrito; 30/10/2015 a las 04:15