Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Se puede realizar un POST desde un while?

Estas en el tema de ¿Se puede realizar un POST desde un while? en el foro de PHP en Foros del Web. Hola Buenas Tardes. Miren tengo una duda, quiero hacer que un formulario pasara pero dependiendo del numero de id de una tabla mysql, me explico ...
  #1 (permalink)  
Antiguo 26/06/2015, 13:17
 
Fecha de Ingreso: junio-2014
Mensajes: 60
Antigüedad: 9 años, 10 meses
Puntos: 0
¿Se puede realizar un POST desde un while?

Hola Buenas Tardes.
Miren tengo una duda, quiero hacer que un formulario pasara pero dependiendo del numero de id de una tabla mysql, me explico con el código:

Código PHP:
Ver original
  1. <?php
  2.        
  3.         $IdUser = $Mysqli->query("SELECT * FROM users ORDER BY id DESC LIMIT 30");
  4.         while($ID = $IdUser->fetch_array()):
  5.         $PostID = $ID['id'];
  6.        
  7.         if(isset($_POST[$PostID])):
  8.             echo $_POST[$PostID];
  9.         endif;
  10.     ?>
  11.     <form action='' method='post'>
  12.         <input type='submit' value='Mirar Usuario' name='<?php echo $PostID; ?>'>
  13.     </form>
  14.     <?php endwhile;  ?>
Como ven estoy sacando el id de 30 usuarios, el name del input muestra perfectamente el id de los 30 usuarios, pero al presionar el boton digamos del usuario 11 el echo me imprime lo que contiene el value, ¿Estoy haciendo algo mal?
Gracias por su atención.
  #2 (permalink)  
Antiguo 26/06/2015, 13:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: ¿Se puede realizar un POST desde un while?

Código PHP:
Ver original
  1. if(isset($_POST[$PostID])):
  2.             echo $_POST[$PostID];
  3.         endif;

Dentro del while tienes ese echo, que es el que imprime el valor.

El problema mayor que veo aquí es que supongo que la columna id es numérica y es lo que estás usando para asignar el nombre al botón; en HTML los nombres de elementos no deben ser solo números y deben iniciar con una letra.

La opción sería incluir un campo oculto donde recuperes la id:

Código HTML:
Ver original
  1. <form method="post" action"aqui-el-nombre-del-script.php">
  2. <input type="hidden" name="id" value="aquí-la-id-del-usuario" />
  3. <input type="submit" value="Ver usuario" />
  4. </form>

Luego, en el PHP y antes de la consulta para listar usuarios:
Código PHP:
Ver original
  1. if(isset($_POST['id'])) {
  2.       // Aquí muestras los datos del usuario y finalizas la ejecución del script
  3.       exit;
  4. }
  5.  
  6. // Aquí la consulta y el while para listar usuarios
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 26/06/2015, 21:02
 
Fecha de Ingreso: junio-2014
Mensajes: 60
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: ¿Se puede realizar un POST desde un while?

¡Muchísimas gracias!
Me ha servido de maravilla

Etiquetas: formulario, mysql, post, select, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:12.