Foros del Web » Programando para Internet » PHP »

Ayuda con checkbox

Estas en el tema de Ayuda con checkbox en el foro de PHP en Foros del Web. Código HTML: <form action= "Prueba.php" method= "post" name= "adminForm" > <table class= "adminlist" cellpadding= "1" > <thead> <tr> <th width= "2%" class= "title" > # ...
  #1 (permalink)  
Antiguo 06/03/2010, 19:03
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda con checkbox

Código HTML:
 <form action="Prueba.php"  method="post" name="adminForm">
       <table class="adminlist" cellpadding="1">
	<thead>
	 <tr>
	  <th width="2%" class="title">#</th>
          <th class="title">Descripcion</th>
	  <th width="5%" class="title" >x</th>
	  <th width="5%" class="title" nowrap="nowrap">y</th>
          <th width="5%" class="title" nowrap="nowrap">z</th>
          <th width="5%" class="title" nowrap="nowrap">w</th>
	 </tr>
        </thead>
	 <?php include('ProcesosPHP/conexion.php');
	 $resultado = @mysql_query("SELECT o.`PERF_CODI`, o.`PERM_CODI`, o.`OPPE_x`, o.`OPPE_y`, o.`OPPE_z`,
                                    o.`OPPE_w`, d.`DEPE_DESC`
                                    FROM tnca_oppe o
                                    right JOIN tnca_depe d USING(PERM_CODI)
                                    WHERE `PERF_CODI` = 1 ");
         while ($row = mysql_fetch_array($resultado))
          {
          $contador = $contador + 1;
        ?>
        <tbody>
	 <tr class="row0">
	  <td><?php echo $contador; ?></td>
          <td><?php echo $row['DEPE_DESC']; ?></td>
          <td><input type="checkbox" name="opcion[<?php echo $contador; ?>][0]" value="1" /></td>
          <td><input type="checkbox" name="opcion[<?php echo $contador; ?>][1]"  value="1" /></td>
          <td><input type="checkbox" name="opcion[<?php echo $contador; ?>][2]" value="1" /></td>
          <td><input type="checkbox" name="opcion[<?php echo $contador; ?>][3]" value="1"  /></td>
         </tr>
         <?php } ?>
	</tbody>
       </table>
            <input type="submit" name="Submit">

        </form> 

esto me bota una matriz de checkbox, pero como hago para capturar cada fila de checkbox los que estubieron marcados, -> 1 1 1 0 x ejemplo, y esos numeros ingresarlos en la bd

nombre - checkbox1 - checkbox 2, checkbox 3, checkbox 4 [cabecera]
Gestor de xxx <> <> <> <> [cuerpo fila 1]
Gestor de xxx <> <> <> <> [cuerpo fila 2]
Gestor de xxx <> <> <> <> [cuerpo fila 3]
Gestor de xxx <> <> <> <> [cuerpo fila 4]
Gestor de xxx <> <> <> <> [cuerpo fila 5]

donde <> es un checkbox

como podria hacerlo ?
  #2 (permalink)  
Antiguo 06/03/2010, 19:24
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: Ayuda con checkbox

disculpa, lo que quieres es que cuando hayas ingresado y marcado los checkbox, al momento de editar te muestre lo que anteriormente tenias seleccionado?
  #3 (permalink)  
Antiguo 06/03/2010, 20:00
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

nop, lo que quiero es por ejemplo al seleccionar los checks a mi antojo, me guarde en la bd

tabla = codigo, check1, check2,check3, check4

lo que quiero es que se guarde en la bd los checks (1 seleccionado, 0 sin seleccion).

no se si me deje entender
  #4 (permalink)  
Antiguo 06/03/2010, 20:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ayuda con checkbox

Si sabes cuantos checkbox van a ser, solo tienes que verificar si existen o no cuando se envia. Me refiero a que uses la función isset para saber si recibió información o no. Ya que si se marca envia información y si no se marca no aparece información de la variable.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 06/03/2010, 20:57
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

Código PHP:
$id $_POST['opcion'];

for (
$i 1$i  <= 12$i++)  {
    
$a 0;
    echo 
"<br>".$id[$i][$a]." ".$id[$i][$a+1]." ".$id[$i][$a+2]." ".$id[$i][$a+3];

asi lo hice, me reporta con 1 si selecciona, pero si no selecciona no sale nada, no se si estara bien asi o alguien tiene una mejor opcion ??
  #6 (permalink)  
Antiguo 06/03/2010, 21:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ayuda con checkbox

Por eso te indique que si sabes la cantidad de checkbox solo tienes que llamarlo con la función isset, si no existe entonces solo tienes que agregar la información que deseas en la base de datos para los casos que no esten marcados. Te sugiero que le asignes un nombre a cada checkbox diferente y luego con condiciones en PHP haces las verificaciones usando la función isset.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 06/03/2010, 21:51
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

t refieres a ponerle un nombre diferente a cada fila de checkbox ??
respondiendo a tu pregunta, la cantidad de checkbox peude variar.
  #8 (permalink)  
Antiguo 06/03/2010, 21:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ayuda con checkbox

En ese caso tienes un problema con los checkbox, porque los que no estén marcados no se enviarán. Lo que puedes hacer es crear campos ocultos de acuerdo a la cantidad de checkbox y modificar el valor que tenga ese campo con javascript cuando la persona presione el checkbox, entonces lo que tienes que hacer en PHP es leer ese campo oculto y ahí obtendrás todos los valores de los checkbox.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 06/03/2010, 22:19
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

Código PHP:
          <td><input type="checkbox" name="opcion1[<?php echo $contador?>][0]" value="1" /></td>
          <td><input type="checkbox" name="opcion2[<?php echo $contador?>][1]"  value="1" /></td>
          <td><input type="checkbox" name="opcion3[<?php echo $contador?>][2]" value="1" /></td>
          <td><input type="checkbox" name="opcion4[<?php echo $contador?>][3]" value="1"  /></td>

Código PHP:
$check1 $_POST['opcion1'];
$check2 $_POST['opcion2'];
$check3 $_POST['opcion3'];
$check4 $_POST['opcion4'];

for (
$i 1$i  <= 12$i++)  {
    
$a 0;
    echo 
"<br>".$check1[$i][$a]." ".$check2[$i][$a+1]." ".$check3[$i][$a+2]." ".$check4[$i][$a+3];

hasta el momento tengo esto, lo que me dices q con javascript eso si no lo entiendo muy bien, no se si podras completar mi codigo. resibo la matriz de los datos normal.
  #10 (permalink)  
Antiguo 06/03/2010, 22:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ayuda con checkbox

Primero no le encuentro logida de crear un contador cuando lo estas escribiendo manualmente. Con tan solo usar
Código HTML:
Ver original
  1. <input type="checkbox" name="opcion1" />
  2. <input type="checkbox" name="opcion2" />
  3. <input type="checkbox" name="opcion3" />
  4. <input type="checkbox" name="opcion4" />
Debe ser suficiente. Pero lo que no entiendo es que si le estas asignando numeros ¿por qué dices que no vas a saber cuantos checkbox existen? Como te indique si sabes la cantidad de checkbox que se van a enviar solo tienes que usar el isset
Código PHP:
Ver original
  1. if(isset($_POST["opcion1"])){
  2. //codigo
  3. }
  4. if(isset($_POST["opcion2"])){
  5. //codigo
  6. }
  7. //etc. etc.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 06/03/2010, 22:40
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

son 4 columnas, pero las filas cambian, pueden aumentar o disminuir, actualmente son 12 filas * 4 columnas
  #12 (permalink)  
Antiguo 06/03/2010, 22:52
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con checkbox

pero esos if no irian en un for ? para q cada vuelta, me sake cada fila, los cuatro columnas.

Lo que te refieres con el isset es q si existe por ejemplo la opcion1 lo guardo en una variable, y asi con todos, y si no existe significa q sera 0 no ?, entonces en cada vuelta del for puedo insertar los datos en la tabla ??

esta bien mi interpretacion ?

Etiquetas: checkbox
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 18:13.