Foros del Web » Programando para Internet » PHP »

Recoger datos de varios checkbox

Estas en el tema de Recoger datos de varios checkbox en el foro de PHP en Foros del Web. Buenas, mi consulta es la siguiente: Tengo un formulario en php con varios checkbox, Tengo entendido que con select múltiple si se agrega los [] ...
  #1 (permalink)  
Antiguo 05/09/2012, 06:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Recoger datos de varios checkbox

Buenas, mi consulta es la siguiente:
Tengo un formulario en php con varios checkbox, Tengo entendido que con select múltiple si se agrega los [] al final del name después es más fácil recoger los datos. Cómo sería con varios checkbox, necesito que se puedan seleccionar al menos uno, varios o todos. Podría hacer lo mismo con checkbox, es decir puedo agregarle los [] al final del name como indica el código siguiente?


Código PHP:
Ver original
  1. <input type="checkbox" name="provincias[]" value="capital_federal" /> Capital Federal<br />
  2. <input type="checkbox" name="provincias[]" value="catamarca" /> Catamarca<br />
  3. <input type="checkbox" name="provincias[]" value="chaco" /> Chaco<br />
  4. <input type="checkbox" name="provincias[]" value="chubut" /> Chubut<br />
  5. <input type="checkbox" name="provincias[]" value="cordoba" /> Córdoba<br />
  6. <input type="checkbox" name="provincias[]" value="corrientes" /> Corrientes<br />
  7. <input type="checkbox" name="provincias[]" value="entre_rios" /> Entre Ríos<br />
  8. <input type="checkbox" name="provincias[]" value="formosa" /> Formosa<br />
  9. <input type="checkbox" name="provincias[]" value="jujuy" /> Jujuy<br />
  10. <input type="checkbox" name="provincias[]" value="la_pampa" /> La Pampa <br />
Y luego los recogería de la siguiente manera
Código PHP:
Ver original
  1. ?php
  2.  
  3. $provincia=$_POST["provincias"];
  4.  
  5. for ($i=0;$i<count($provincia);$i++)    
  6. {    
  7. echo "<br> Provincias " . $i . ": " . $provincia[$i];    
  8. }
  9. ?>

Lo que quiero saber es si lo que hice está correcto o sino cuál sería la forma de hacerlo

Agradezco de antemano la ayuda que me puedan prestar.
  #2 (permalink)  
Antiguo 05/09/2012, 07:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Recoger datos de varios checkbox

no veo nada fuera de lo normal ¿ya lo probaste?

recuerda que solo se enviarán los value de los check marcados, así que no te extrañe ver el array vacío si no elijes nada

usa <label><input type="checkbox" />etiqueta</label> para asociar la etiqueta adjunta, así el check se marca al hacer click en la etiqueta

consulte un manual de HTML http://librosweb.es/xhtml/index.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 05/09/2012, 10:25
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

Muchas gracias por tu respuesta, voy a probar colocando los label
  #4 (permalink)  
Antiguo 06/09/2012, 07:07
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

maycolalvarez, gracias por la recomendación del label, desconocía la utilidad para marcar los checkboxes
  #5 (permalink)  
Antiguo 21/09/2012, 14:52
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

Buenas, retomando el formulario con checkbox, agregué a mi tabla de avisos un nuevo campo llamado Mostrarprovincia para que me almacene las provincias que son seleccionadas en los checkbox, pero no me ingresa nada. La consulta que hice fue la siguiente, omito el resto de campos porque funcionan.

mysql_query("INSERT INTO avisos (Mostrarprovincia)VALUES('$provincia')");

el código php para que me seleccionara las provincias está correcto pero en lugar de mostrar en pantalla las provincias seleccionadas como lo muestra el código; que debería colocar en la línea del echo para reemplazarla, no quiero que muestre las provincias sino que las almacene en la base de datos.
Código PHP:
Ver original
  1. ?php
  2.      
  3.     $provincia=$_POST["provincias"];
  4.      
  5.     for ($i=0;$i<count($provincia);$i++)    
  6.     {    
  7.     echo "<br> Provincias " . $i . ": " . $provincia[$i];    
  8.     }
  9.     ?>

Agradezco la ayuda que puedan darme
  #6 (permalink)  
Antiguo 22/09/2012, 09:37
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: Recoger datos de varios checkbox

Hola, utiliza el foreach

Código PHP:
<?php
$checked 
$_POST['provincias'];
foreach(
$checked as $i
{
echo 
"Provincia de: ".$i;
}
?>
Si te sirvio dale Click ami KARMA.

Saludos
__________________
Msn: [email protected]
  #7 (permalink)  
Antiguo 22/09/2012, 12:14
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

Hola, voy a probar y luego te cuento
  #8 (permalink)  
Antiguo 24/09/2012, 05:47
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

Hola, gracias por tu ayuda pero no me funcionó, voy a replantear lo que quiero hacer y más adelante volveré a consultar
  #9 (permalink)  
Antiguo 24/09/2012, 10:14
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: Recoger datos de varios checkbox

tu FORM, en su METHOD, le asignastes POST? no sera que ahí esta el error?
__________________
Msn: [email protected]
  #10 (permalink)  
Antiguo 30/09/2012, 10:54
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Recoger datos de varios checkbox

Hola ikaroraul, el method post está bien, el error que me arrojaba con el código que me diste
syntax error, unexpected '$_POST' (T_VARIABLE) en la línea 2 o sea en
$checked = $_POST['provincias'];
Ya está resuelto con el siguiente código que es muy parecido al tuyo
Código PHP:
Ver original
  1. <?php
  2. foreach($_POST['provincias'] as $valor)
  3. {
  4. echo "<br>". $valor;
  5. }
  6. ?>

Etiquetas: checkbox, formulario, recoger
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 07:56.