Foros del Web » Programando para Internet » PHP »

array de radios por grupos

Estas en el tema de array de radios por grupos en el foro de PHP en Foros del Web. hola amigos no se si es correcto hacer esto me funciona pero no se si de pura chiripa me funciona genero esto de manera dinamica ...
  #1 (permalink)  
Antiguo 08/04/2008, 16:08
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Pregunta array de radios por grupos

hola amigos no se si es correcto hacer esto me funciona pero no se si de pura chiripa me funciona

genero esto de manera dinamica

echo "\n";
echo '<tr>';
echo "\n";
echo '<td class="campos_form_label"><input type="hidden" name="txtdocumentos[]" id="txtdocumentos'.$posiciondocumentos.'" value="'.$id_documento.'"/>'.$condocumentos.".-".stripslashes(htmlentities($Document_row["$MOD1_DOCUMENTOS_DESC"])).'<br>se requieren ( '.$DocumentR_row["$MOD1_RELACIONDOC_NUMCOPIAS"].' )</td>';
echo "\n";
echo '<td><div align="center"><input type="text" name="txtejemplares[]" id="ejemplares'.$posiciondocumentos.'" size="3" maxlength="1"/></div></td>';
echo "\n";
echo '<td class="campos_form_label">si<input type="radio" name="txradio['.$posiciondocumentos.']" id="radio'.$posiciondocumentos.'" value="s" />No<input type="radio" name="txradio['.$posiciondocumentos.']" id="radio'.$posiciondocumentos.'" value="n" checked="checked"/></td>';
echo "\n";
echo '</tr>';

asi recibo los campos tomando como base el input hidde
llamando txtdocumentos

<?php
$size_lista=count($_POST['txtdocumentos']);
echo $size_lista."<br>";
for ($i=0;$i<$size_lista;$i++)
{
echo "documento ID: ".$_POST['txtdocumentos'][$i]."<br>";
echo "Ejemplares: ".$_POST['txtejemplares'][$i]."<br>";
echo "entrego: ".$_POST['txradio'][$i]."<br><br>";
}

?>

mi duda es si para pasar un array de radio es necesario poner un nombre?

un nombre que lo distinga de los otro grupos de radios
es decir name="txradio[uno]"......

//primer grupo
si
<input type="radio" name="txradio[uno]" id="radio1" value="s" checked="checked" />
no
<input type="radio" name="txradio[uno]" id="radio1" value="n" />

//segundo grupo
si
<input type="radio" name="txradio[dos]" id="radio1" value="s" checked="checked" />
no
<input type="radio" name="txradio[dos]" id="radio1" value="n" />
.
.
.etc



saludos
__________________
gerardo
  #2 (permalink)  
Antiguo 08/04/2008, 16:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: array de radios por grupos

Si haces eso como lo propones al leerlo lo harías: $_POST['txtradio']['uno'].

Saludos.
  #3 (permalink)  
Antiguo 08/04/2008, 16:14
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Pregunta Re: array de radios por grupos

ok pero seria asi como indicas si se los names del radio
pero si los conformo de manera dinamica

si estara bien? como lo planteo al princio que los genero dinamicamente??

<?php
$size_lista=count($_POST['txtdocumentos']);
echo $size_lista."<br>";
for ($i=0;$i<$size_lista;$i++)
{
echo "documento ID: ".$_POST['txtdocumentos'][$i]."<br>";
echo "Ejemplares: ".$_POST['txtejemplares'][$i]."<br>";
echo "entrego: ".$_POST['txradio'][$i]."<br><br>";
}

?>
__________________
gerardo
  #4 (permalink)  
Antiguo 08/04/2008, 16:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: array de radios por grupos

Para ciclarlo hazlo de forma dinámica:
Código PHP:
foreach( $_POST['txtradio'] as $name => $value ) {
       echo 
"El radio $name, tiene de valor $value";

Saludos.
  #5 (permalink)  
Antiguo 08/04/2008, 16:31
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Pregunta Re: array de radios por grupos

ah ok muchas
gracias

solo una duda como le haria si mando varios componentes en array como un text, select
incluyendo los radios por grupo

para almacenarlos en mysql de forma ordena es decir
por ejemplo imprimir los que se escribio en el primer text
luego en el segundo text y despues valor del primer grupo de radio...ect

algo asi:

posicion 0: $_post['txtdocumentos']
posicion 0: $_post['txtejemplares']
posicion 0: $_post['txtejemplares']


posicion 1: $_post['txtdocumentos']
posicion 1: $_post['txtejemplares']
posicion 1: $_post['txtejemplares']

posicion 2: $_post['txtdocumentos']
posicion 2: $_post['txtejemplares']
posicion 2: $_post['txtejemplares']

saludos
y gracias
__________________
gerardo
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 05:23.