Foros del Web » Programando para Internet » PHP »

Seleccion multiple de checkbox

Estas en el tema de Seleccion multiple de checkbox en el foro de PHP en Foros del Web. Buenos dias estoy creando un formulario en donde se muestran los registros de una consulta con su respectivo checkbox, como obtengo lo seleccionado al hacerlo ...
  #1 (permalink)  
Antiguo 13/08/2013, 10:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 94
Antigüedad: 15 años, 8 meses
Puntos: 0
Seleccion multiple de checkbox

Buenos dias estoy creando un formulario en donde se muestran los registros de una consulta con su respectivo checkbox, como obtengo lo seleccionado al hacerlo multiple? aqui coloco el codigo donde muestro los registros, quiero realizar un update en los seleccionados, gracias por su ayuda
Código PHP:
$consulta1 = "select distinct n.C, n.SERIAL,n.RI,n.RF,n.CANTIDAD from disponible n INNER JOIN cen c ON c.C=n.C WHERE n.C='A'";
$res = mysql_query($consulta1, $conexionn)or die(mysql_error());
while($registros=mysql_fetch_assoc($res)) { 
$RI= $row['RI'];
$RF= $row['RF'];
$c4= $row['C'];
$cserial= $row['SERIAL'];
$cantext=$row['CANTIDAD'];

$punt=$c."/".$serial."/".$RI."/".$RF."/".$cant;


  <tr>
    <td align="center"><? echo $c?></td>
    <td align="center"><? echo $serial?></td>
    <td align="center"><? echo $RI?></td>
    <td align="center"><? echo $RF?></td>
    <td align="center"><? echo $cant?></td>
    <td align="center"><input name="aprobar[]" value="<? echo $punt?>" type="checkbox"style=" width:15px;"/></td>
    </tr>
  #2 (permalink)  
Antiguo 13/08/2013, 10:37
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Seleccion multiple de checkbox

Al enviarlos al servidor via POST los recibes con:
$var=$_POST[aprobar];
//si tienes 10 checkbox con el mismo nombre "aprobar[]" y seleccionas 5
//$var contendra los 5 que seleccionaste en forma de array

saludos
  #3 (permalink)  
Antiguo 13/08/2013, 10:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Seleccion multiple de checkbox

Los campos múltiples se obtienen de la misma forma que los campos normales, la única diferencia radica en que lo que obtienes es un array.

Consulta el manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 17/08/2013, 19:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 94
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Seleccion multiple de checkbox

hola logre seleccionar multiples checkbox, pero lo que necesito ahora es que para cada registro mostrar al lado una caja de texto donde el usuario ingrese un numero, el numero que ingrese ahi se sume para ese registro nada mas, al colocar la caja de texto "extensiones" el valor no es tomado en cuenta, si pongo la caja de texto fuera de la tabla realiza la suma, pero no me funciona porque me permite ingresar solo un monto y el valor ingresado es tomado para todos los checkbox seleccionados, y no debe ser asi, gracias por su ayuda, abajo un ejemplo de lo que necesito y el codigo:

Formulario Presentado con el Select
Campo2 Extensiones (Ingresado por el usuario) checkbox
100 20 seleccionado
300 100 seleccionado
900 no seleccionado

Formulario resultante

Campo2 Extensiones
120 20
400 100

Código HTML:
[PHP]
$extensiones=$_POST['extensiones'];
if($_POST['guardar']==false) {
$consulta1 = "select distinct n.C, n.SERV,n.I,n.F,n.CANTIDAD  from disponible n";
$res = mysql_query($consulta1, $conexionn)or die(mysql_error());
while($row= mysql_fetch_array($res)) { 
$I= $row['I'];
$F= $row['F'];
$c= $row['C'];
$cserv= $row['SERV'];
$cante=$row['CANTIDAD'];

$punt=$c."/".$serv"/".$I."/".$F."/".$cante;
?>	[/PHP]

  <tr>
    <td align="center">[PHP]<? echo $c; ?>[/PHP]</td>
    <td align="center">[PHP]<? echo $serv; ?>[/PHP]</td>
	<td align="center">[PHP]<? echo $I; ?>[/PHP]</td>
	<td align="center">[PHP]<? echo $F; ?>[/PHP]</td>
	<td align="center">[PHP]<? echo $cante; ?>[/PHP]</td>
   <td width="223"> <input name="extensiones" type="text" id="extensiones" size="10"  value="[PHP]<? 
				if($_POST['guardar']==false ) {	
				   if (isset($_POST['extensiones'])) echo $_POST['extensiones']; 
				 }else {echo "";}	 
		?>[/PHP]"/>
		     </td>	
	<td align="center"><input name="aprobar[]" value="<? echo $punt;?>" type="checkbox" style=" width:15px;"/></td>
    </tr>
	<[PHP]? }}
}else {echo "";}?>[/PHP]
        <p>&nbsp;</p>
	    </table>
[PHP]
<?
if($_POST['aprobar']==true) { 
?>
[/PHP]
<table width="757" border="0" align="center" bordercolor="#0000FF">
  <tr>
    <td width="29" align="center"><span class="Estilo7">C</span></td>
    <td width="39" align="center"><span class="Estilo7">Serv</span></td>
    <td width="56" align="center"><span class="Estilo7">Inicio</span></td>
    <td width="62" align="center"><span class="Estilo7">Fin</span></td>
	<td width="98" align="center"><span class="Estilo7">Extensiones</span></td>
	 <td width="17" align="center">&nbsp;</td>
	<td colspan="4"><input name="deshace" style="width:80px;" type="submit" value="Deshacer" /></td>
	
  </tr>
  <p><span class="Estilo3"><strong>    SELECCIONADOS:</strong></span></p>
  <tr>
[PHP]
  	 <?
   foreach ($_POST['aprobar'] as $v) {
   list($c, $serv, $ini, $rf, $extens) = explode("/", $v);
   	 
     $fin=$ini+$extensiones;
     
   ?>[/PHP] 
    <td align="center">[PHP]<? echo $c; ?>[/PHP] </td>
    <td align="center">[PHP]<? echo $serv; ?>[/PHP] </td>
    <td align="center">[PHP]<? echo $ini; ?>[/PHP] </td>
    <td align="center">[PHP]<? echo $fin; ?>[/PHP] </td>
	 <td align="center">[PHP]<? echo $extensiones; ?>[/PHP] </td>
    <td align="center"><input name="deshacer[]" value="[PHP]<? echo $v;?>[/PHP] " type="hidden" style=" width:15px;"/></td>

[PHP]
   <? } 
    }?>[/PHP] 
  </table> 

Etiquetas: checkbox, formulario, mysql, registro, seleccion, select, sql
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 06:25.