Pequena dúvida.

  • Autor Autor Linares
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
L

Linares

Beta
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!
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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>
 
Voltar
Topo