Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/02/2018, 16:36
Avatar de Triby
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: radio buton y textarea en un cuestionario dinamico

El problema es que para todas las preguntas usas el mismo nombre de campos, entonces, es como si hubiera solo un juego de radios y te tomaría solo el último textarea.

Código PHP:
Ver original
  1. <tr>
  2.                 <td width="50"><?php echo $idres; ?></td>
  3.                 <td width="470"><?php echo $texto; ?></td>
  4.                 <td> SI <input type="radio" name="radio<?php echo $idres; ?>" value="SI"></td>
  5.                 <td> NO <input type="radio" name="radio<?php echo $idres; ?>" value="NO"></td>
  6.                 <td><textarea name="comentarios<?php echo $idres; ?>" rows="5" cols="20">Escribe aquí tus Hallazgos</textarea></td>
  7.                 <td><textarea name="acciones<?php echo $idres; ?>" rows="5" cols="20">Escribe aquí tus Acciones Correctivas</textarea></td>
  8.            </tr>

De esta forma, tendrás campos "radio1" hasta "radioN" con valores posibles SI y NO; tendrás campos "comentarios1" y "acciones1" hasta "comentariosN" y "accionesN", donde N corresponde al número máximo de pregunta.

Para procesar el formulario, suponemos que recorres las preguntas en la misma forma en que creaste el formulario:
Código PHP:
Ver original
  1. // Arriba hay un ciclo donde obtienes la pregunta e $idres
  2.     $respuesta = $_POST["radio$idres"];
  3.     $comentarios = $_POST["comentarios$idres"];
  4.     $acciones = $_POST["acciones$idres"];
  5.     // Aquí es donde debes validar y, de ser el caso, actualizar la base de datos

También puedes crear los campos como array, pero al usar radios, tendrías que aplicar directamente el índice. Ejemplo:

Código PHP:
Ver original
  1. <tr>
  2.                 <td width="50"><?php echo $idres; ?></td>
  3.                 <td width="470"><?php echo $texto; ?></td>
  4.                 <td> SI <input type="radio" name="radio[<?php echo $idres; ?>]" value="SI"></td>
  5.                 <td> NO <input type="radio" name="radio[<?php echo $idres; ?>]" value="NO"></td>
  6.                 <td><textarea name="comentarios[<?php echo $idres; ?>]" rows="5" cols="20">Escribe aquí tus Hallazgos</textarea></td>
  7.                 <td><textarea name="acciones[<?php echo $idres; ?>]" rows="5" cols="20">Escribe aquí tus Acciones Correctivas</textarea></td>
  8.            </tr>

usa var_dump($_POST); para ver cómo recibes el formulario y puedas procesarlo, aunque es muy parecido a la primera opción.
__________________
- León, Guanajuato
- GV-Foto