PHP - buscar en un array asociativo un dato

 
Vista:

buscar en un array asociativo un dato

Publicado por Sam (184 intervenciones) el 22/10/2017 18:27:36
Hola amigas/os, tengo un problema. pongo todo el codigo aqui para mayor claridad, a ver si me pueden ayudar.

Mi problema es que cuando meto el primer valor mediante el formulario , pues no se me muestra reflejado en el listado.

Pero al meter un segundo valor en el formulario y lo envio entonces me aparecen de una

vez de golpe , tanto el primer dato que mandé ( y que no se veia a lo primero) , mas el segundo dato mandado ahora.

Mi codigo es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
session_start();
 
//RECIBIBOS LOS DATOS DEL FORMULARIO
 
if($_POST)
{
    if(!empty($_POST['nombre']))
    {
        $nombre = $_POST['nombre'];
        $masa = $_POST['masa'];
        $velocidad = $_POST['velocidad'];
        $mod = $_POST['mod'];
 
 
        $array_pha = array();
 
        $subArray_pha = array();
 
 
 
        $_SESSION['subArray_pha'][] = array($nombre => $mod);
 
        $array_pha = $_SESSION['array_pha'][] = $_SESSION['subArray_pha'];
 
 
 
        echo '<h1>Listado de los PHAs</h1>';
 
        foreach($array_pha as $subArray_pha)
 
        {
            if( !(array_key_exists($nombre, $subArray_pha)) or ($masa == '') or ($velocidad == '') or ($mod == '') )
 
            {
                foreach($subArray_pha as $nombre => $mod)
 
                {
                    echo "<b>Nombre: </b>" . $nombre . " | <b>Mod: </b>" . $mod . "<br/>";
                }
            }
        }
    }
    else
    {
        echo 'Falta el nombre del PHA';
    }
}


Y el formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<form name="form_pha" method="post" action="index.php">
 
    <label>Nombre</label>
 
    <input type="text" name="nombre" value="<?php if( isset($_POST['nombre']) ) { echo $_POST['nombre']; }?>" placeholder="del PHA" />
 
 
    <br/><br/>
 
 
    <label>Masa</label>
 
    <input type="text" name="masa" value="<?php if( isset($_POST['masa']) ) { echo $_POST['masa']; }?>" placeholder="de 1 a 1.000.000.000. toneladas" />
 
 
    <br/><br/>
 
 
    <label>Velocidad</label>
 
    <input type="text" name="velocidad" value="<?php if( isset($_POST['velocidad']) ) { echo $_POST['velocidad']; }?>" placeholder="de translación" />
 
 
    <br/><br/>
 
 
    <label>Distancia mínima orbital</label>
 
    <input type="text" name="mod" value="<?php if( isset($_POST['mod']) ) { echo $_POST['mod']; }?>" placeholder="de 0.001 a 1.0" />
 
 
    <br/><br/>
 
 
    <input type="submit" name="enviar" value="introducir" />
 
</form>

gracias de antemano
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