
Relaciones entre checkbox
Publicado por Hugo S. (47 intervenciones) el 09/11/2006 20:08:32
Tengo esta situacion. A partir de 2 consultas a tablas en una base de datos. Con una consulta armo un listbox donde quiero que el usuario pueda seleccion un solo elemento y con la otra consulta armo una lista de checkbox para que el usuario pueda seleccionar la cantidad de elementos que quiera.
Mi problema es que no consigo volcar en variables los elementos que el usuario seleccionó de los checkbox. O sea que si el usuario elijio 5 de los 10 que habia, yo necesito volcar en variables los 5 esos e identificarlos uno por uno para poder luego hacer inserts, updates y deletes en tablas relacionadas a cada uno de esos elementos elegidos.
Y como esto es dinamico en el sentido que la cantidad de checkbox disponibles será en relacion a cuantos registros tenga su tabla, seguro habrá que armar una especie de while o for para recorrer los checkbox y tomar los que el usuario haya elegido. Entonces, en resumen, no se por donde agarrar a cada uno de esos checkbox cuando necesito usarlos para hacer inserts, deletes y updates en otras tablas de la base de datos.
Espero me pueda ayudar alguien porfa, muchas gracias!
<?php
$SQL = "SELECT * FROM areas ORDER BY descrip_area" ;
$res_areas = mysql_query($SQL, $coneccion) ;
$SQL = "SELECT * FROM subareas ORDER BY descrip_subarea" ;
$res_subareas = mysql_query($SQL, $coneccion) ;
//calculo la cantidad de resultados
$cant_areas = mysql_num_rows($res_areas) ;
$cant_suba = mysql_num_rows($res_subareas) ;
if ($cant_areas > 0 || $cant_suba > 0) {
//Si el tipo es distinto de enviar mostramos el formulariO
if($HTTP_POST_VARS["cmdRelacionar"] <> "Relacionar"){
?>
<form method="post" action="relacA-S_altafinal.php">
<table border="0" width="50%" cellspacing="0" cellpadding="4" align="center" bgcolor="#003366">
<tr><td colspan="2" width="100%" align="left" bgcolor="#990000">
<font color="#FFFFFF"><b>Seleccione lo que desea relacionar: </b></font></td>
</tr><tr>
<td width="50%" align="left">
<font color="#FFFFFF"><b>Areas </b></font></td>
<td width="50%" align="left">
<font color="#FFFFFF"><b>Subareas </b></font></td>
</tr><tr>
<td width="50%" align="left">
<select size="10" name="areas">
<?php
while($q_areas = mysql_fetch_array($res_areas)) {
echo "<option value=$q_areas[id_area]>
$q_areas[descrip_area] </option>" ;
}?>
</select>
</td><td width="50%" align="right"><font color="#FFFFFF"><b>
<?php
while($q_subareas = mysql_fetch_array($res_subareas)) {
echo "</input>$q_subareas[descrip_subarea]
<input type='checkbox' name='subareas'
value=$q_subareas[id_subarea]><br>" ;
}?></b></font>
<?php
while($q_subareas = mysql_fetch_array($res_subareas)) {
echo "<option value=$q_subareas[id_subarea]>
$q_subareas[descrip_subarea] </option>" ;
?>
</td>
</tr><tr>
<td colspan="2" width="100%" align="right">
<input type="submit" name="cmdRelacionar" value="Relacionar">
</td>
</tr>
</table>
</form>
<?php
}
}
else
{ ?><font color="#000099"><?php
echo "No se han encontrado elementos disponibles para relacionar.<br>" ;
?></font><?php
}
mysql_close($coneccion) ;
?>
Mi problema es que no consigo volcar en variables los elementos que el usuario seleccionó de los checkbox. O sea que si el usuario elijio 5 de los 10 que habia, yo necesito volcar en variables los 5 esos e identificarlos uno por uno para poder luego hacer inserts, updates y deletes en tablas relacionadas a cada uno de esos elementos elegidos.
Y como esto es dinamico en el sentido que la cantidad de checkbox disponibles será en relacion a cuantos registros tenga su tabla, seguro habrá que armar una especie de while o for para recorrer los checkbox y tomar los que el usuario haya elegido. Entonces, en resumen, no se por donde agarrar a cada uno de esos checkbox cuando necesito usarlos para hacer inserts, deletes y updates en otras tablas de la base de datos.
Espero me pueda ayudar alguien porfa, muchas gracias!
<?php
$SQL = "SELECT * FROM areas ORDER BY descrip_area" ;
$res_areas = mysql_query($SQL, $coneccion) ;
$SQL = "SELECT * FROM subareas ORDER BY descrip_subarea" ;
$res_subareas = mysql_query($SQL, $coneccion) ;
//calculo la cantidad de resultados
$cant_areas = mysql_num_rows($res_areas) ;
$cant_suba = mysql_num_rows($res_subareas) ;
if ($cant_areas > 0 || $cant_suba > 0) {
//Si el tipo es distinto de enviar mostramos el formulariO
if($HTTP_POST_VARS["cmdRelacionar"] <> "Relacionar"){
?>
<form method="post" action="relacA-S_altafinal.php">
<table border="0" width="50%" cellspacing="0" cellpadding="4" align="center" bgcolor="#003366">
<tr><td colspan="2" width="100%" align="left" bgcolor="#990000">
<font color="#FFFFFF"><b>Seleccione lo que desea relacionar: </b></font></td>
</tr><tr>
<td width="50%" align="left">
<font color="#FFFFFF"><b>Areas </b></font></td>
<td width="50%" align="left">
<font color="#FFFFFF"><b>Subareas </b></font></td>
</tr><tr>
<td width="50%" align="left">
<select size="10" name="areas">
<?php
while($q_areas = mysql_fetch_array($res_areas)) {
echo "<option value=$q_areas[id_area]>
$q_areas[descrip_area] </option>" ;
}?>
</select>
</td><td width="50%" align="right"><font color="#FFFFFF"><b>
<?php
while($q_subareas = mysql_fetch_array($res_subareas)) {
echo "</input>$q_subareas[descrip_subarea]
<input type='checkbox' name='subareas'
value=$q_subareas[id_subarea]><br>" ;
}?></b></font>
<?php
while($q_subareas = mysql_fetch_array($res_subareas)) {
echo "<option value=$q_subareas[id_subarea]>
$q_subareas[descrip_subarea] </option>" ;
?>
</td>
</tr><tr>
<td colspan="2" width="100%" align="right">
<input type="submit" name="cmdRelacionar" value="Relacionar">
</td>
</tr>
</table>
</form>
<?php
}
}
else
{ ?><font color="#000099"><?php
echo "No se han encontrado elementos disponibles para relacionar.<br>" ;
?></font><?php
}
mysql_close($coneccion) ;
?>
Valora esta pregunta


0