Pequeña duda.

  • Autor Autor Linares
  • Fecha de inicio Fecha de inicio
L

Linares

Beta
Verificado por Whatsapp
Buenas que tal, les comento mi gran duda:

Tengo el siguiente código:
PHP:
<form class="form-horizontal" action="resultado_add.php" method="POST">
              <div class="box-body">
                <?
                  while ($row = mysql_fetch_array($query)) {
                    $bloque = $row['titulo'];
                      $link2 = "SELECT * FROM bloque_ejercicios WHERE nombre LIKE '%$bloque%'";
                      $query2 = mysql_query($link2);
                      while ($row2 = mysql_fetch_array($query2)) {
                        $id_bloque = $row2['id'];
                          $link3 = "SELECT * FROM ejercicios WHERE bloque='$id_bloque'";
                          $query3 = mysql_query($link3);
                            while ($row3 = mysql_fetch_array($query3)) {
                              $id_nombre = $row3['id'];
                              $nombre = $row3['nombre'];
                              echo "<div class='form-group'>
                                      <label for='inputEmail3' class='col-sm-2 control-label'>$nombre</label>
                                      <div class='col-sm-6'>
                                        <input type='text' name='$id' class='form-control' id='inputEmail3' placeholder='$nombre'>
                                      </div>
                                    </div>";
                            }
                      } 
                  }
                ?>         
              </div>
              <!-- /.box-body -->
              <div class="box-footer">
                <input type="button" class="btn btn-default" name="Cancelar" value="Cancelar" onClick="location.href='mi_clase.php'">
                <button type="submit" class="btn btn-info pull-right">Agregar</button>
              </div>
              <!-- /.box-footer -->
            </form>

Mi pregunta es, como recibo las variables que imprimo en el echo del php que me muestra los input? normalmente cuando realizo los input sin el while las recibo con el nombre del input:

$nombre = $_POST['nombre_del_input'];

Pero en este caso, que imprimo varios input mediante un while como tendria que recibirlas? De antemano Gracias!
 
tienes que colocarle un nombre... pero segun veo las recibiras $_POST['1']... segun veo ya que colocas el id en el nombre...

pero podes hacer un foreach a $_POST y no importa el nombre... otra cosa no veo que asignes nada a la variable $id... por lo que no existe en tu codigo
 
Lo siento tiene razón, realizando pruebas habia cambiado el codigo, el original esta asi:

PHP:
echo "<div class='form-group'>
                                      <label for='inputEmail3' class='col-sm-2 control-label'>$nombre</label>
                                      <div class='col-sm-6'>
                                        <input type='text' name='$nombre' class='form-control' id='inputEmail3' placeholder='$nombre'>
                                      </div>
                                    </div>";

Le coloco el nombre al input y lo muestro en ese mismo while, por que también le estaba colocando el $id_nombre, que es el $id del nombre que solicita en el campo.

Y tienes razón, investigando por encima lo que me mencionas de recibir el POST con un foreach es la manera mas adecuada de recorrer todo el POST para luego insertarlo en una base de datos.

De verdad, Muchas Gracias. :encouragement:
 
Lo que podrías hacer también es darle un nombre pero agregando "[]", ejemplo:

PHP:
<html>
	<body>

	<form action="test.php" method="post">
		<input type="text" name="datos[]"><br/>
		<input type="text" name="datos[]"><br/>
		<input type="text" name="datos[]"><br/>
		<input type="submit" value="Enviar">
	</form>

	<?php
		if(!empty($_POST['datos'])) {
			foreach($_POST['datos'] as $dato) {
				echo $dato . '<br/>';
			}
		}
	?>

	</body>
</html>
 
Atrás
Arriba