Foros del Web » Programando para Internet » PHP »

valores radio buttons

Estas en el tema de valores radio buttons en el foro de PHP en Foros del Web. Hola a todos, Tengo una tabla donde por cada fila, un usuario puede seleccionar un valor (marcando el radio button) o no seleccionar ninguno. Necesito ...
  #1 (permalink)  
Antiguo 15/11/2010, 12:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 18 años
Puntos: 0
valores radio buttons

Hola a todos,

Tengo una tabla donde por cada fila, un usuario puede seleccionar un valor (marcando el radio button) o no seleccionar ninguno.
Necesito mirar en cada fila si hay un radio button seleccionado y obtener su valor en el caso de que lo haya.
Es decir, en la primera fila hay 4 radio buttons agrupados, y el usuario puede seleccionar uno o ninguna. Y así en cada fila.

Este es el código de la tabla

Código HTML:
<table width="468" border="1" bordercolor="#000000">
            <tr>
              <td width="113" rowspan="2">Tipo de recursos </td>
              <td width="50" rowspan="2"><div align="center">Peso</div></td>
              <td colspan="4"><div align="center">Frecuencia de acceso: </div></td>
            </tr>
            <tr>
              <td width="60"><div align="center">Diario</div></td>
              <td width="75"><div align="center">Semanal</div></td>
              <td width="77"><div align="center">Mensual</div></td>
              <td width="67"><div align="center">Anual</div></td>
            </tr>
            <tr>
              <td>Material did&aacute;ctico </td>
              <td><div align="center">5</div></td>
              <td><input name="t1" type="radio" value="20" /></td>
              <td><input name="t1" type="radio" value="15" /></td>
              <td><input name="t1" type="radio" value="10" /></td>
              <td><input name="t1" type="radio" value="5" /></td>
            </tr>
            <tr>
              <td>Portales educativos multiservicios </td>
              <td><div align="center">5</div></td>
              <td><input name="t2" type="radio" value="20" /></td>
              <td><input name="t2" type="radio" value="15" /></td>
              <td><input name="t2" type="radio" value="10" /></td>
              <td><input name="t2" type="radio" value="5" /></td>
            </tr>
            <tr>
              <td>Juegos educativos </td>
              <td><div align="center">5</div></td>
              <td><input name="t3" type="radio" value="20" /></td>
              <td><input name="t3" type="radio" value="15" /></td>
              <td><input name="t3" type="radio" value="10" /></td>
              <td><input name="t3" type="radio" value="5" /></td>
            </tr>
            <tr>
              <td>Bibliotecas</td>
              <td><div align="center">4</div></td>
              <td><input name="t4" type="radio" value="16" /></td>
              <td><input name="t4" type="radio" value="12" /></td>
              <td><input name="t4" type="radio" value="8" /></td>
              <td><input name="t4" type="radio" value="4" /></td>
            </tr>
            <tr>
              <td>Buscadores educativos </td>
              <td><div align="center">4</div></td>
              <td><input name="t5" type="radio" value="16" /></td>
              <td><input name="t5" type="radio" value="12" /></td>
              <td><input name="t5" type="radio" value="8" /></td>
              <td><input name="t5" type="radio" value="4" /></td>
            </tr>
            <tr>
              <td>Sitios de recursos (educativo/software) </td>
              <td><div align="center">3</div></td>
              <td><input name="t6" type="radio" value="12" /></td>
              <td><input name="t6" type="radio" value="9" /></td>
              <td><input name="t6" type="radio" value="6" /></td>
              <td><input name="t6" type="radio" value="3" /></td>
            </tr>
            <tr>
              <td>Sitios interpersonales </td>
              <td><div align="center">3</div></td>
              <td><input name="t7" type="radio" value="12" /></td>
              <td><input name="t7" type="radio" value="9" /></td>
              <td><input name="t7" type="radio" value="6" /></td>
              <td><input name="t7" type="radio" value="3" /></td>
            </tr>
            <tr>
              <td>Correo electr&oacute;nico </td>
              <td><div align="center">3</div></td>
              <td><input name="t8" type="radio" value="12" /></td>
              <td><input name="t8" type="radio" value="9" /></td>
              <td><input name="t8" type="radio" value="6" /></td>
              <td><input name="t8" type="radio" value="3" /></td>
            </tr>
            <tr>
              <td>Tiendas virtuales </td>
              <td><div align="center">2</div></td>
              <td><input name="t9" type="radio" value="8" /></td>
              <td><input name="t9" type="radio" value="6" /></td>
              <td><input name="t9" type="radio" value="4" /></td>
              <td><input name="t9" type="radio" value="2" /></td>
            </tr>
            <tr>
              <td>Chat / Foro </td>
              <td><div align="center">2</div></td>
              <td><input name="t10" type="radio" value="8" /></td>
              <td><input name="t10" type="radio" value="6" /></td>
              <td><input name="t10" type="radio" value="4" /></td>
              <td><input name="t10" type="radio" value="2" /></td>
            </tr>
            <tr>
              <td>Ocio (m&uacute;sica, pel&iacute;culas,...) </td>
              <td><div align="center">1</div></td>
              <td><input name="t11" type="radio" value="4" /></td>
              <td><input name="t11" type="radio" value="3" /></td>
              <td><input name="t11" type="radio" value="2" /></td>
              <td><input name="t11" type="radio" value="1" /></td>
            </tr>
            <tr>
              <td>Otros</td>
              <td><div align="center">1</div></td>
              <td><input name="t12" type="radio" value="4" /></td>
              <td><input name="t12" type="radio" value="3" /></td>
              <td><input name="t12" type="radio" value="2" /></td>
              <td><input name="t12" type="radio" value="4" /></td>
            </tr>
          </table> 

Mi pregunta es si hay alguna forma rápida o mecánica de obtener los valores, porque sólo se me ocurre declarar 12 variables (una por cada fila) e ir obteniendo los valores.
$variable1 = $_POST['t1']; etc.....
  #2 (permalink)  
Antiguo 15/11/2010, 12:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: valores radio buttons

si, hay una forma mas mecánica: usar nomenclatura de array
Código HTML:
<input name="foo[x]"/> 
así en php lo tratas todo como un arreglo, y sería fácil saber que valores han sido o no enviados usando un for o foreach

aunque solo debo decir que únicamente los valores seleccionados son enviados, así que deberás usar algo de ingenio para saber cuales no se enviaron...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/11/2010, 09:57
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 18 años
Puntos: 0
Respuesta: valores radio buttons

Debería declarar entonces 12 arrays?

es decir,

<input name="t1[x]"/>
<input name="t2[x]"/>

etc?
  #4 (permalink)  
Antiguo 18/11/2010, 10:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: valores radio buttons

Cita:
Iniciado por Tram Ver Mensaje
Debería declarar entonces 12 arrays?

es decir,

<input name="t1[x]"/>
<input name="t2[x]"/>

etc?
no, la idea es no numerar esto... imagina, si declaras 12 name distintos, debes entonces saber recibir 12 variables distintas... ¿te suena sencillo?

bien... la idea de usar nomenclatura de array es usar el mismo name para todos los <input/> relacionados, así:
Código HTML:
<input name="t[1]"/>
<input name="t[2]"/>
<input name="t[3]"/> 
ahí es donde entra la x, pudiendo definir algún valor como índice o relación... (:

finalmente en tu script vas a recibir todas estas variables agrupadas en un solo array, de ahí la sencillez de sus beneficios...
Código PHP:
print_r($_POST['t']); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: radio
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 12:10.