Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Grupos de botones tipo radio más envío de array

Estas en el tema de Grupos de botones tipo radio más envío de array en el foro de PHP en Foros del Web. Estimados necesito resolver el siguiente problema Estoy generando dinámicamente 8 botones tipo radio. Estos se agrupan de a dos de la siguiente manera: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 12/08/2016, 15:25
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Pregunta Grupos de botones tipo radio más envío de array

Estimados necesito resolver el siguiente problema


Estoy generando dinámicamente 8 botones tipo radio. Estos se agrupan de a dos de la siguiente manera:


Código PHP:
Ver original
  1. <form id="form1" name="form1" method="post" action="">
  2.  
  3. <input type='radio' name='grupo1' id='radio' value='".<?=$idch;?>."' /><br />
  4. <input type='radio' name='grupo1' id='radio' value='".<?=$idch;?>."' /><br />
  5.  
  6. <input type='radio' name='grupo2' id='radio' value='".<?=$idch;?>."' /><br />
  7. <input type='radio' name='grupo2' id='radio' value='".<?=$idch;?>."' /><br />
  8.  
  9. <input type='radio' name='grupo3' id='radio' value='".<?=$idch;?>."' /><br />
  10. <input type='radio' name='grupo3' id='radio' value='".<?=$idch;?>."' /><br />
  11.  
  12. <input type='radio' name='grupo4' id='radio' value='".<?=$idch;?>."' /><br />
  13. <input type='radio' name='grupo4' id='radio' value='".<?=$idch;?>."' /><br />
  14.  
  15. </form>

De tal forma que la persona pueda seleccionar sólo una opción por cada grupo.
Según yo, para poder enviar las opciones seleccionadas(4), estas debiera ir en un array no?

o sea, todos los intup radio debería tener en el name el array:

<input type='radio' name='seleccion[]' id='radio' value='".<?=$idch;?>."' /><br />

Pero si hago esto no podré controlar que la persona seleccione solo una alternativa por grupo. Se entiende?

..No se como resolver esto.


Luego con php recibiría el array y lo iría insertando en una tabla junto con otros datos

Código PHP:
Ver original
  1. foreach ($_POST['seleccion'] as $idch){
  2.  
  3. //inserto los datos en una tabla
  4.  
  5. }

Última edición por yole; 12/08/2016 a las 15:30
  #2 (permalink)  
Antiguo 13/08/2016, 08:08
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Grupos de botones tipo radio más envío de array

Investigando más pude resolverlo.
Lo dejo acá completo por si le sirve a alguien:



Código PHP:
Ver original
  1. //para validar el botón tipo radio
  2.  
  3.  if(sizeof($_POST['seleccion']) == 0 ){
  4.            
  5.                 echo"<script>history.back(alert('Por favor seleccione una alternativa'));</script>";
  6.                 die();
  7.                 }
  8.  
  9.  
  10. while ($rowAx=mysql_fetch_array($resAx))
  11.  
  12.     {
  13. //puse la variable que me servía para agrupar los input tipo radio dentro de los corchetes del array.
  14.  
  15. //$grupo=$rowAx['grupo'];
  16.  
  17. <input type='radio' name='seleccion[".$rowAx['grupo']."]' id='radio' value='".$rowAx['idch']."' />
  18.  
  19.  
  20.  
  21.  
  22.          }


Y para almacenar los datos en la tabla:


Código PHP:
Ver original
  1. foreach ($_POST['seleccion'] as $nombreQueUstedesDefinan){ //
  2.  
  3.                        
  4.  
  5.         //recibos todas la variables
  6.  
  7.         $np=$_POST['np'];
  8.         $email=$_POST['email'];
  9.         $idinst=$_POST['idinst'];
  10.  
  11. // Y aca la Query para el insert
  12.  
  13. $sql="insert into tabla (nombreQueUstedesDefinan,restoDeVariables)VALUES('$nombreQueUstedesDefinan','$restoDeVariables')";
  14.         //mysql_query($sql)or die(mysql_error());
  15.        
  16.         //header("location: pasar-lista.php");
  17.  
  18.  
  19.  
  20. }

Espero sea de utilidad para alguien más.

Etiquetas: html, php+bd+mysql
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 06:13.