PHP - Alimentar datalist con un arreglo de sesión

 
Vista:
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 10:34:04
Saludos gente.
Tengo un formulario que es creado por una función en un echo (Estoy usando PHP), en ese formulario tengo un input que quiero que tenga un datalist que se alimenta de una base de datos.
Como el asunto del JQUERY no me ha funcionado decidí hacerlo más sencillo y cree un array de session que reciba el contenido de la base de datos, al menos esa es la idea.
Por lo pronto sólo hice un array de session con unos números dentro para probar. Pero no funciona mi plan porque el formulario se trunca donde metí mi foreach.
¿Por qué no funciona esto?:
1
2
3
4
5
6
7
8
9
10
<div class="form-group ">
              <label for="puestos">Puesto:</label>
              <input list="test" type="text" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="test">';
            foreach ($_SESSION['puestos'] as $value) {
            echo '<option value"'.$value.'">';

            } 
                  echo'</datalist>
     </div>
¿Cuál sería la manera correcta de hacer que el datalist se alimente del arreglo?
¿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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 14:18:31
Hola, podrias mostrarnos como estas asignando los valores a la variable $_SESSION?, quizas alli este el problema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 14:35:06
Los datos los obtengo así:
1
2
3
4
5
6
7
public function prueba(){
 
        $dbModel = Resource::getModel("DisponibilidadModel");
        $results = $dbModel->listaPuestos();
        $_SESSION['puestos'] = $results;
        return $_SESSION['puestos'];
    }
Si hago un var_dump de mi array de sesión me muestra el contenido. El formulario ya no se trunca pero el input no tiene opciones.
Si miro el código fuente de la página en el navegador, el datalist está vació.
1
2
3
4
5
6
7
8
9
10
11
<div class="form-group">
              <label for="puestos">Puesto:</label>
              <input list="puestos" type="text" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  ';
            foreach ($_SESSION['puestos'] as $value) {
            print '<option value"'.$value.'">';

            }
            echo'</datalist>
                </div>

Gracias por responder.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 15:03:25
Hazlo asi:

1
print '<option value="'.$value.'">';

Te falta el =.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 15:31:00
Efectivamente me faltaba un igual, cosas de haber rehecho el código varias veces.
Pero aún así sigue siendo un input normal. El código fuente en el navegador muestra que la datalist está vacía:
1
2
3
4
5
6
<div class="form-group">
              <label for="puestos">Puesto:</label>
              <input list="puestos" type="text" class="form-control puestos" name="puesto" id="" value="CONJUNTO RESIDENCIAL BRISAS DEL MAR">
                  <datalist id="puestos">
                  </datalist>
                </div>

Gracias por el signo extraviado. ¿Qué podría ser lo que está mal?

Si hago un var_dump me muestra el array:

Captura_1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 15:47:11
Ya veo, tienes un array bideminsional, hazlo asi:

1
2
3
4
5
foreach ($_SESSION['puestos'] as $value) {
          foreach ($value as $value2) {
                   print '<option value="'.$value2.'">';
          }
}

Quizas funcione, nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 16:04:16
No, sigue siendo un input normal con un datalist vacío.
Gracias ppr los consejos. Espero que tengas algún as bajo la manga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 16:46:40
Estas armando mal el datalist, fijate en este codigo que hice para que veas como debes estructurarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$array = [['nombre'=>'nombredato'],['nombre2'=>'nombredato2']];
var_dump($array);
?>
 
<div class="form-group">
    <label for="puestos">Puesto:</label>
    <input list="puestos" name="puestos" class="form-control puestos">
        <datalist id="puestos">
        <?php
        foreach ($array as $key) {
            foreach ($key as $value) {
                echo '<option value="'.$value.'">';
            }
        }
        ?>
        </datalist>
</div>

El array de ejemplo tiene la misma estrcutura que tu variable $_SESSION.

Prueba y nos cuentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 19:29:08
No me funciona. Creo que el problema es mal uso de mi framework y del mvc (EL framework es uno que usa mi empresa que fue hecho por el desarrollador que trabajaba ahí antes).
Si uso las etiquetas <?php ?> no funcionará porque no es html, es un echo en un archivo php. Si las quito vuelvo a quedar como antes.
Voy a ampiar la información, perdona el ladrillo de código y las malas prácticas que seguro tengo, pero así había funcionado hasta que quise hacer lo del datalist:

Este controlador manda un echo que abre la vista que a su vez incluye unos botones que abren una ventana modal qe incluye el form con el datalist:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function mostrar() {
       $contador = 0;
       $dbModel = Resource::getModel("DisponibilidadModel");
       $results = $dbModel->mostrar();
       include "views/headerDisponibilidad.php";
       foreach ($results as $value) {
           $contador = ++$contador;
           $pkadicional = $value->get_adicional();
           $cedulaGuarda = $value->get_cedulaGuarda();
           $codpuesto = $value->get_codigoPuesto();
           echo '<tr><td class="text-center">'.$value->get_fecha().'</td>'
                   . '<td class="text-center">'.$value->get_turno().'</td><td class="text-center">'.$value->get_nombreGuarda().'</td><td class="text-center">'.$value->get_telefonoGuarda().'</td>'
                   . '<td class="text-center">'.$value->get_nombrePuesto().'</td><td class="text-center">'.$value->get_nombreAdmin().'</td><td class="text-center">'.$value->get_notificado().'</td><td class="text-center">'.$value->get_cumplio().'</td>'
                   . '<td class="text-center">'.$value->get_observaciones().'</td><td class="text-center"></td><td class="text-center"><button type="submit" id="btn_enviar" class="btn btn-primary" data-toggle="modal" data-target="#myModal'.$contador.'"><i class="glyphicon glyphicon-pencil"></i></button></td></tr>';
                   include "views/modalFormularioAdicionales.php";
       }
    echo' </table></div>';
 
    }

Fíjate que hay un include FormularioAdicionales.php, ese es el código de la ventana modal y ahí va el datalist. Como verás, es un código php con un echo. SI quito el echo o hago include a un archivo igual pero con extensión html, no funciona la ventana modal.

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
 
echo '
 
<!-- Modal -->
<div id="myModal'.$contador.'" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Edición de disponibilidad</h4>
      </div>
      <div class="modal-body">
        <form role="form">
            <div class="form-group">
              <label for="puestos">Puesto:</label>
              <input list="puestos" type="text" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  ';
            foreach ($_SESSION['puestos'] as $value) {
            print '<option value"'.$value.'">';
 
            }
            echo'</datalist>
                </div>
            <div class="form-group">
              <label for="">Turno:</label>
              <input list="turnos" type="text" class="form-control" name="turno" value="'.$value->get_turno().'">
                <datalist id="turnos">
                    <option value="DIURNO">
                    <option value="NOCTURNO">
                </datalist>
            </div>
            <div class="form-group">
              <label for="">Notificado:</label>
              <input list="sino" type="text" class="form-control" name="turno" value="'.$value->get_notificado().'">
                <datalist id="sino">
                    <option value="SÍ">
                    <option value="NO">
                </datalist>
            </div>
            <div class="form-group">
              <label for="">Laboró:</label>
              <input list="sino" type="text" class="form-control" name="turno" value="'.$value->get_cumplio().'">
            </div>
            <div class="form-group">
              <label for="">Fecha:</label>
              <input type="date" class="form-control" name="fecha" value="'.$value->get_fecha().'">
            </div>
            <div class="">
              <label for="">Observaciones:</label>
              <textarea class="form-control" name="observaciones" placeholder="'.$value->get_observaciones().'"></textarea>
            </div>
            <button type="submit" class="btn btn-primary botonModal">Editar</button>
        </form>
      </div>
    </div>

  </div>
</div>
';

Excepto el tema del datalist me funciona bien lo demás. Mil gracias por tu paciencia, yo no soy desarrollador. de profesión (me encantaría). La empresa para la que laboro (En soporte) me dejó esta misión y a cambio ellos me validan las 400 horas de prácticas que me piden para graduarme (Con la esperanza de pasar a ser desarrollador).
Te agradezco mucho la ayuda.

13987388_10208163315255212_2985510629762613994_o
13988214_10208163315295213_3456318501901045620_o
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 20:42:42
Bueno, intentalo de esta manera:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
 
echo '
 
<!-- Modal -->
<div id="myModal'.$contador.'" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Edición de disponibilidad</h4>
      </div>
      <div class="modal-body">
        <form role="form">
            <div class="form-group">
              <label for="puestos">Puesto:</label>
              <input list="puestos" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  ';
                foreach ($_SESSION['puestos'] as $value) {
                    foreach ($value as $value_list) {
                        echo '<option value"'.$value_list.'">';
                    }
                }
            echo '</datalist>
                </div>
            <div class="form-group">
              <label for="">Turno:</label>
              <input list="turnos" type="text" class="form-control" name="turno" value="'.$value->get_turno().'">
                <datalist id="turnos">
                    <option value="DIURNO">
                    <option value="NOCTURNO">
                </datalist>
            </div>
            <div class="form-group">
              <label for="">Notificado:</label>
              <input list="sino" type="text" class="form-control" name="turno" value="'.$value->get_notificado().'">
                <datalist id="sino">
                    <option value="SÍ">
                    <option value="NO">
                </datalist>
            </div>
            <div class="form-group">
              <label for="">Laboró:</label>
              <input list="sino" type="text" class="form-control" name="turno" value="'.$value->get_cumplio().'">
            </div>
            <div class="form-group">
              <label for="">Fecha:</label>
              <input type="date" class="form-control" name="fecha" value="'.$value->get_fecha().'">
            </div>
            <div class="">
              <label for="">Observaciones:</label>
              <textarea class="form-control" name="observaciones" placeholder="'.$value->get_observaciones().'"></textarea>
            </div>
            <button type="submit" class="btn btn-primary botonModal">Editar</button>
        </form>
      </div>
    </div>

  </div>
</div>
';

He cambiado el type que le colocaste al input del datalist, este no deberia ser text, y he colocado el foreach correspondiente, avisanos si funciona, no te preocupes estamos para ayudar!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 20:52:10
No me funciona, sigue siendo un input normal. La verdad no entiendo por qué, parece correcto el foreach.
Gracias por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 21:17:48
Olvide mencionarte que le quites el atributo value al input del data list!

1
2
3
4
5
6
7
8
<input list="puestos" class="form-control puestos" name="puesto"  type="text">
                  <datalist id="puestos">
                  ';
                foreach ($_SESSION['puestos'] as $value) {
                    foreach ($value as $value_list) {
                        echo '<option value"'.$value_list.'">';
                    }
                }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 21:22:36
¡¡Pero necesito ese dato!! Al menos lo necesito si el usuario no hace modificaciones. Se me ocurre dejarlo como un placeholder igual que hice con el textarea. Y que sólo guarde el nuevo valor del input si no es vacío.
¿No?

Edito: Probé quitándolo y sigue siendo un input normal pero en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 21:37:45
Le falta el signo = :

1
2
3
4
5
6
7
8
<input list="puestos" class="form-control puestos" name="puesto"  type="text">
                  <datalist id="puestos">
                  ';
                foreach ($_SESSION['puestos'] as $value) {
                    foreach ($value as $value_list) {
                        echo '<option value="'.$value_list.'">';
                    }
                }

Si, entiendo, pero ese valor que quieres colocar alli debe estar dentro de los option del datalist!

Intentalo asi:

1
2
3
4
5
6
7
8
9
<input list="puestos" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  <option style="display: none" value="'.$value->get_nombrePuesto().'"></option>
                  ';
                foreach ($_SESSION['puestos'] as $value) {
                    foreach ($value as $value_list) {
                        echo '<option value="'.$value_list.'"></option>';
                    }
                }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 21:53:31
Así hace algo raro. Un avance, pero raro jejeje. Mira, en estos momentos mi session tiene cuatro elementos: Brisas del mar, refuerzo isvl, disponible y N/A porque no he poblado más mi db.
Las filas de mi tabla tienen en get_nombrePuesto() o bien brisas del mar en una o refuerzo isvl en la otra.
Como está tu código me muestra el valor por defecto en la tabla (QUe es lo que deseo editar en la modal) o sea, brisas del mar o refuerzo isvl.
Y efectivamente el input es un datalist pero sólo tiene una opción posible que es brisas del mar.

Sin%20tiacutetulo
Sin%20tiacutetulo_2

Ahora avanzó un poco pero yo entendí menos jejejeje. Para qué el display:none en el option?

Gracias bro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 21:58:01
Que raro, deberia mostrarte los demas option, si haces un var_dump() en la modal te muestra los datos de la variable $_SESSION?

Podrias colocar un session_start() al inicio del script para probar.

Coloque ese display:none, porque al editar o hacer un cambio en el datalist aquel valor se ocultara, puedes eliminar esa propiedad style si deseas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 22:03:35
Me dice que ya hay una sesión iniciada o algo así. Irónicamente empecé ésta solución porque lo del autocompletado con JQUERY no logré hacerlo funcionar y esto parecía más fácil
Es muy raro, si miras las imágenes verás que sólo existe la opción brisas del mar. Pero si miro el código fuente en el navegador me muestra el valor por defecto como única opción.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 22:23:43
Intenta hacer un var_dump() dentro del modal, o simplemtente de llamar a un valor del array de la variable $_SESSION, asi:

1
2
3
4
5
<input list="puestos" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  <option style="display: none" value="'.$value->get_nombrePuesto().'"></option>
                  <option style="display: none" value="'.$_SESSION['puestos'][0]['nombrepuesto'].'"></option>
                  ';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 22:50:25
Creo que ya sé por dónde van mis metidas de patas (Me vas a matar). La session se alimentaba en otra función del controlador. No la que creaba la vista. Por eso al ejecutar en la url la función me salía el array.
He movido la sesión al index para que se inicie al cagar la vista:



1
2
3
4
5
6
7
8
9
10
11
12
class DisponibilidadController extends Controller {
   public function index() {
        //
        // example.php es la vista almacenada en la carpeta de vistas
        // $this->vars es el array de variables pasadas del controlador a la vista
        //
        $dbModel = Resource::getModel("DisponibilidadModel");
        $results2 = $dbModel->listaPuestos();
        $_SESSION['puestos'] = $results2;
        $this->vars['pagetitle'] = "Servicios";
        $this->getView("disponibilidad.php", $this->vars);
    }o la sesión al index para que se abra al cargar la vista:

Pero eso no solucionó el problema porque tengo una función que me devuelve un var_dump de la sesión y me da null.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 09/08/2016 23:32:28
Y que tal si en lugar de usar $_SESSION, envías la variable directamente a la vista donde esta el modal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 09/08/2016 23:50:18
Ya corregí el problema bro, disculpa. Lo que pasa es que la session me servirá porque ese listado de puesto (QUe en realidad serán muchos) me será útil en varias vistas. Así que lo que he hecho y probado que funciona es cargarlo al loguearme.
Si valida el acceso crea el array de puestos de una vez en una sesión.
Ahora sí creo que estoy listo para afrontar el problema del datalist.
Voy de nuevo al laboratorio ultrasecreto (mi cuarto).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 10/08/2016 00:03:22
Comienzo a ver la luz
1
2
3
4
5
<input list="puestos" type="text" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
                  <option value="'.$_SESSION['puestos'][0]['nombrepuesto'].'">
                  </datalist>
                </div

Sin%20tiacutetulo_3

Creo que ahora sí funcionará iterar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por kip (877 intervenciones) el 10/08/2016 00:04:42
Aplica ya directamente el foreach de los códigos anteriores y nos muestras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhon
Val: 41
Ha disminuido su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

Alimentar datalist con un arreglo de sesión

Publicado por Jhon (23 intervenciones) el 10/08/2016 00:12:45
Listo compi:
1
2
3
4
5
6
7
8
9
10
11
12
<input list="puestos" type="text" class="form-control puestos" name="puesto" id="" value="'.$value->get_nombrePuesto().'">
                  <datalist id="puestos">
 
                  ';
                foreach ($_SESSION['puestos'] as $value2) {
                    foreach ($value2 as $value_list) {
                        echo '<option value="'.$value_list.'"></option>';
                    }
                }
                  echo'</datalist>
                </div>

El toque final fue cambiar $value por $value2 ya que eso era lo que truncaba al principio i formulario porque la variable $value ya estaba en uso en un objeto.
Ya funciona mi datalis amigo. Muchas gracias por tu ayuda y tu paciencia. Sobre todo esa iteración de array anidado que no sabía hacerla.

Eres un crack.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar