Foros del Web » Programando para Internet » PHP »

Ayuda para recoger datos de checkboxes

Estas en el tema de Ayuda para recoger datos de checkboxes en el foro de PHP en Foros del Web. buenasnoches necesitaria saber como recoger en la pagina de proceso los checkboxes selecionados y guardar sus valores aqui el codigo del formulario que se arma ...
  #1 (permalink)  
Antiguo 15/05/2009, 21:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Ayuda para recoger datos de checkboxes

buenasnoches necesitaria saber como recoger en la pagina de proceso los checkboxes selecionados y guardar sus valores
aqui el codigo del formulario que se arma tomando los datos de una tabla



<form id="form1" name="form1" method="post" action="2.php">
<table width="760" border="0" align="center" cellpadding="0" cellspacing="2" bgcolor="#FFFFFF" class="estilo_formularios_admin">
<tr>
<td colspan="6" align="left" valign="top" class="estilo_titulosCopia"><div align="left">Instrumental</div></td>
</tr>


<?php


include_once("librerias/conexion.php");

$_cnx_bd = fun_conectarbd();
// cantidad de registor de la tabla
$total = mysql_query("SELECT count(*) FROM _instrumental WHERE ins_estado = 0", $_cnx_bd);
$_total_reg = mysql_result($total,0,0);

$_sql_1 = "SELECT * FROM _instrumental WHERE ins_estado = 0 ORDER BY ins_id ASC" ;
$_resultado = mysql_query($_sql_1) or die(mysql_error().'linea 338');

$_contador = 0;
$_cont_checkbox = 0;
while (list($_id, $_nombre, $_estado) = mysql_fetch_array($_resultado)){
//$_pasadas= 0;
//echo $_contador ."<br>";
$_contador++;
$_vec_id[$_contador] = $_id;
$_vec_nombre[$_contador] = $_nombre;
$_cantidad++;
$_pasadas++;

if ($_contador == 3){
// imprime linea
echo '<tr>
<td align="left" valign="middle" nowrap="nowrap"><font size="+1" class="texto_instrumental">
<label></label>
<label>
<input name="form_instrumental_'.$_cont_checkbox++.'" type="checkbox" id="form_instrumental_'.$_cont_checkbox++.'" value="'.$_vec_valor[1].'" />
</label>
'.$_vec_nombre[1].'&nbsp;&nbsp;
<label></label>
<label></label>&nbsp;
<label></label>&nbsp;&nbsp;&nbsp;</font></td>
<td align="left" valign="middle" nowrap="nowrap"><font size="+1" class="texto_instrumental">
<label>
<input name="form_instrumental_'.$_cont_checkbox++.'" type="checkbox" id="form_instrumental_'.$_cont_checkbox++.'" value="'.$_vec_valor[2].'" />
</label>
'.$_vec_nombre[2].'&nbsp;</font></td>
<td align="left" valign="middle" nowrap="nowrap"><font size="+1" class="texto_instrumental">
<label>
<input name="form_instrumental_'.$_cont_checkbox++.'" type="checkbox" id="form_instrumental_'.$_cont_checkbox++.'" value="'.$_vec_valor[3].'" />
</label>
'.$_vec_nombre[3].'</font></td>
</tr>';

$_contador = 0;
$_vec_id[1] = '';
$_vec_id[2] = '';
$_vec_id[3] = '';
$_vec_nombre[1] = '';
$_vec_nombre[2] = '';
$_vec_nombre[3] = '';
}
}
// desde aca me fijo si queda algo
if($_vec_id[1] > 0){
echo '<td align="left" valign="middle" nowrap="nowrap"><font size="+1" class="texto_instrumental">
<label></label>
<label>
<input name="form_instrumental_'.$_cont_checkbox++.'" type="checkbox" id="form_instrumental_'.$_cont_checkbox++.'" value="'.$_vec_valor[1].'" />
</label>
'.$_vec_nombre[1].'&nbsp;&nbsp;
<label></label>
<label></label>&nbsp;
<label></label>&nbsp;&nbsp;&nbsp;</font></td>';
$_vec_id[1] = 0;
}
if($_vec_id[2] > 0){
echo '<td align="left" valign="middle" nowrap="nowrap"><font size="+1" class="texto_instrumental">
<label></label>
<label>
<input name="form_instrumental_'.$_cont_checkbox++.'" type="checkbox" id="form_instrumental_'.$_cont_checkbox++.'" value="'.$_vec_valor[2].'" />
</label>
'.$_vec_nombre[2].'&nbsp;&nbsp;
<label></label>
<label></label>&nbsp;
<label></label>&nbsp;&nbsp;&nbsp;</font></td>';
$_vec_id[2] = 0;
}

mysql_close($_cnx_bd);
?>
</table> </td>
</tr>
<tr>
<td>
<div align="center">
<input type="submit" name="envio" id="envio" value="Guardar Datos" />
</div></td>
</tr>
</table>
<p>
<label></label>
</p>
</form>
  #2 (permalink)  
Antiguo 15/05/2009, 21:17
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: Ayuda para recoger datos de checkboxes

desafortunadamente estas incrementando continuamente el ID de los checkboxes con $_cont_checkbox++

revisa el código generado y verás que el id esta adelantado al name en realidad...

ese es el primer problema, el siguiente es que no usas el estándar para múltiples inputs... que es, usar arrays como name

Código HTML:
<input name="foo[0]"/>
<input name="foo[1]"/>
<input name="foo[2]"/> 
eso facilita su tratamiento reduciendo todo a un solo array mas
Código PHP:
foreach ($_POST['foo'] as $key => $val)
{
  echo 
"$key : $val";

si haces todo esto, de manera acertada tu siguiente problema es sencillo de solucionar, mientras.... no!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/05/2009, 21:54
 
Fecha de Ingreso: agosto-2007
Mensajes: 14
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Ayuda para recoger datos de checkboxes

Gracias por tu respuesta el incremento en $_cont_checkbox++ ya lo note, igualmente lo que tengo pensado es utilizar el value (donde guardo el id que traigo del atabla) y el id del formulario para colocarlo en una tabla satelite donde lo relaciono con otros datos del formulario, esta es solo una parte. saludos
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:06.