Pasar arrelgos mediante un radiobutton

Hola david:
Mi problema es el siguiente: Tengo dos formularios en el primero el usuario inserta una serie de problemas que encuentra en el las 9 diferentes áreas en el segundo formulario el usuario selecciona mediante radiobuttons el área y le debe de desplegar los problemas que introdujo en el anterior formulario y de esos problemas seleccionar dos que consideren más importantes y dar una posible solución a esos problemas y guardarlos en la base de datos.Mi pregunta es ¿cómo puedo hacer para que al seleccionar
cualquiera de los radiobuttons me muestre unicamente los problemas que puso en el formulario anterior?
El formulario que estoy utilizando es el siguiente:
//PRIMER FORMULARIO

</table>
<table width="523" border="1" align="center">
<tr>
<th width="167" scope="col" >ADMINISTRACIÓN</th>
<th width="167" scope="col" >GERENCIA </th>
<th width="167" scope="col" >MERCADOTECNIA </th>
</tr>
<tr>
<td><textarea name="admon[]" cols="32" rows="2"></textarea>
</td>
<td><textarea name="genrencia[]" cols="32"></textarea></td>
<td><textarea name="mercadotecnia[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="admon[]" cols="32"></textarea></td>
<td><textarea name="gerencia[]" cols="32"></textarea></td>
<td><textarea name="mercadotecnia[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="admon[]" cols="32"></textarea></td>
<td><textarea name="gerencia[]" cols="32"></textarea></td>
<td><textarea name="mercadotecnoa[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="admon[]" cols="32"></textarea></td>
<td><textarea name="gerencia[]" cols="32"></textarea></td>
<td><textarea name="mercadotecnoa[]" cols="32"></textarea></td>
</tr>
</table>
<p> </p>
<table width="476" border="1" align="center">
<tr>
<th width="151" scope="col">INFORMATICA</th>
<th width="152" scope="col">RECURSOS HUMANOS</th>
<th width="151" scope="col">SERVICIOS GENREALES</th>
</tr>
<tr>
<td><label>
<textarea name="informatica[]" cols="32"></textarea>
</label></td>
<td><textarea name="recursos[]" cols="32"></textarea></td>
<td><textarea name="servicios[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="informatica[]" cols="32"></textarea></td>
<td><textarea name="recursos[]" cols="32"></textarea></td>
<td><textarea name="servicios[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="informatica[]" cols="32"></textarea></td>
<td><textarea name="recursos[]" cols="32"></textarea></td>
<td><textarea name="servicios[]" cols="32"></textarea></td>
</tr>
<tr>
<td><textarea name="informatica[]" cols="32"></textarea></td>
<td><textarea name="recursos[]" cols="32"></textarea></td>
<td><textarea name="servicios[]" cols="32"></textarea></td>
</tr>
</table>
<p align="center"><input type="submit" name="Submit" value="CONTINUAR" />
</form>
</body>
</html>
// SEGUNDO FORMULARIO
<table width="615" align="center">
<tr>
<td width="144">
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
ADMINISTRACION</div>
</td>
<td width="196">
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
GERENCIA;N</div>
</td>
<td width="259">
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
MERCADOTECNIA</div>
</td>
</tr>
<tr>
<td>
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
RECURSOS HUMANOS</div>
</td>
<td>
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
SERVICIOS GENERALES </div>
</td>
<td>
<div align="left">
<input name="radiobutton" type="radio" value="radiobutton" />
INFORMATICA</div>
</td>
</tr>
</table>

Y de antemano muchísimas gracias
1

1 respuesta

1
Respuesta de
Hola,
creo que cuando recibes los datos del primer formulario, deberías guardarlos (supongo que en la base de datos, por ejemplo).
Cuando envíes el segundo formulario, compruebas el radio button seleccionado y lees de la base de datos los registros apropiados.
Saludos.
David Cortés Braña
Gracias por tu recomendación, la estoy tratando de llevar acabo pero tengo un problema con la inserción de los registro.
Resulta que como son vario arreglos y quiero validar que inserte solo las casillas que el usuario ha llenado, me los inserta pero repetidos y no se por que, el código que estoy usando es el siguiente:
if(isset(POST['Submit'])){
$query='insert into area (anio, admon, gerencia, mercadotecnia, informatica, recursos, servicios) values';
foreach(tiny_mce_markerPOST as $key => $campos){
$strquery = '';
for($i=0;$i<count($campos);$i++){
if (!empty( $campos[$i])) {
$strquery.="('$anio', '".POST['admon'][$i]."','".POST['gerencia'][$i]."','".POST['mercadotecnia'][$i]."','".POST['informatica'][$i]."','".POST['recursos'][$i]."','".POST['servicios'][$i]."'),";
}
}
$strquery=$query .substr($strquery,0,(strlen($strquery)-1)).';';
echo $strquery;
mysql_query($strquery) or die(mysql_error());
echo 'Los registros han sido registrado de manera satisfactoria.<br />';
}
}
}
}
?>
¿A qué se debe que estoy haciendo mal?
Hola,
no puedes hacer un foreach en estas circunstáncias. El foreach es un bucle que hará una vuelta por cada elemento de POST, por lo tanto dentro del bucle se debería tratar un sólo elemento POST y tu necesitas hacer una inserción con 6 elementos.
Elimina el foreach y haz que el bucle for vaya de 0 a count($_POST["admon"]), de esta forma recorrerás los elementos de la matriz.
Saludos.
David Cortés Braña
Muchas gracias pero eso ya lo intente, pero tienen el inconveniente de que si el usuario introduce 3 datos en el primer arreglo (admon) y 5 en el segundo no me guarda en la base de datos. Bueno te comento que tengo mi formulario de la siguiente forma:
Admon Gerencia Mercadotecnia
Problema 1 problema 1 problema 1
Problema 2 problema 2 problema 2
Problema 3 problema 3
                                            Problema 4
Como podrás darte cuenta es muy dispar la inserción que el usuario puede hacer, en el caso del ejemplo si pongo en el código solo con el for inserta en la bd hasta el problema 3 en todos pero si hay más ya no los toma encuenta. Cualquier sugerencia es muy bien recibida y gracias de antemano.
Hola,
en ese caso, quizás el diseño que hiciste de las tablas no sea el más apropiado, pues puedes tener registros con muchas posiciones vacías.
Pero en todo caso, tal y como está ahora, haz que el bucle vaya de 0 al máximo valor de cada una de las áreas.
Usa la función max() : max(count($_POST['admon'), count($_POST['gerencia'], count($_POST['mercadotecnia'])
Saludos.
David Cortés Braña
Hola, bueno ya pude insertar mis datos a la base de datos, ahora tengo el problema principal como jalo esos datos usando el radio button. Considerando que el radio button cuntiene el nombre del departamento y este al seleccionarlo debe jarlar los problemas que usuario introdujo en la base de datos en la página anterior y ellos seleccionar dos problemas que considere más importantes y dar una posible solución y de igual forma introducirlo en la base de datos.
He estado buscando y encuentro que eso lo podría hacer con Ajax pero lo tengo que hacer con php :( ¿alguna idea por favor?
Hola,
envía el formulario cuando seleccionen el radio button. Puedes poner un evento onchange o onclick en el radio button que lo envíe automáticamente, o un botón de submit para hacerlo manualmente.
Cuando sepas el departamento, podrás consultar la tabla. Quizás deberías tener en la tabla un campo para el usuario, para identificar cuáles son sus opciones y cuáles las de otros. No sé si conservas ese dato, pero sería fundamental.
Las opciones que te devuelve la consulta, son las que mostrarás en el formulario donde el usuario tendrá que hacer la nueva selección y volver a enviar el formulario, para dar la solución.
Saludos.
David Cortés Braña
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema PHP o hacer tu propia pregunta: