Foros del Web » Programando para Internet » PHP »

Pasar arrays con checkbox en formulario

Estas en el tema de Pasar arrays con checkbox en formulario en el foro de PHP en Foros del Web. Hola a todos. He estado leyendo las faqs donde están los ejemplos para pasar los arrays mediante un formulario a otra página php. El caso ...
  #1 (permalink)  
Antiguo 15/06/2005, 05:45
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 4 meses
Puntos: 0
Pasar arrays con checkbox en formulario

Hola a todos.
He estado leyendo las faqs donde están los ejemplos para pasar los arrays mediante un formulario a otra página php. El caso es que no lo consigo y me gustaría exponeros mi caso por si me podéis ayudar.

Tengo una consulta que saca de una bd los registros que cumplen una condicición determinada.

Código PHP:
$query "SELECT * FROM bd_promociones WHERE activa = 'SI'";
$result mysql_query($query); 
Mediante un while lo que hago es extraer los registros que he recuperado en la consulta, introduciéndolos en un formulario con una tabla y poniéndoles checkbox. La idea es que una vez mostrados los checkbos con el nombre de cada array, puedan seleccionar los checkbox que les interesen.

Código PHP:
while ($promo_activas mysql_fetch_array($result))
            {                
            echo 
"<tr align='center'>";
            echo 
"<td align='left'>".$promo_activas['nombre_promo']."</td>";
            echo 
"<td align='left'>";
            echo 
"<input type='checkbox' name=' ".($promo_activas['nombre_promo'])."' id='".($promo_activas['nombre_promo'])."' value='SI'>";
            echo 
"</td>";
            echo 
"</tr>";
            } 
El caso es que el formulario si me muestra los nombres del array y el checkbox para activarlo o no. El problema está en que no consigo recuperar los datos del array con su opción (si o no), para introducirlos en una bd en la otra página php.
Estoy probando provisionalmente con un foreach para recuperar los datos pero me da error.

Código PHP:
foreach ($_POST['promo_activas'] as $id){ 
   echo 
$id."<br>"

Alguna sugerencia? Puede que lo esté planteando mal, por eso os consulto.

Muchas gracias
  #2 (permalink)  
Antiguo 15/06/2005, 06:19
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 7 meses
Puntos: 102
... pués sí.. te sugiero mencionar el error exácto que tienes ... adivinos no hay acá...

... ¿cuál es tu HTML final?? seguro que generas los checkbox como matrices??? ... osease, tienes los names de esta forma: name="algo[]"???... a simple vista no lo parece...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 15/06/2005, 06:27
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola jamm1138
No te puedo mostrar el html del fichero que recibe el checkbox porque no lo tengo desarrolado todavía. Lo que he hecho es probar con el foreach para verificar que puedo recuperar bien mediante el array los checbox del formulario.

El html del formulario lo genero con el while de más arriba. No se si es correcto o no.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 15/06/2005, 06:40
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 4 meses
Puntos: 2
1.- En tu página donde recibes los datos y le pasas el foreach por lo siguiente:

print_r ($_POST)

esto se mostrará todas las variables que recibas y sus valores.


2.- lo que pondría en tu línea <input ... sería lo siguiente:

echo "<input type='checkbox'
name= 'nombrePromo[' ".($promo_activas['nombre_promo'])." '] '
id= 'nombrePromo[' ".($promo_activas['nombre_promo'])." '] '
value= 'SI'>";

Con esto crearás un array con nombre nombrePromo y cuyo indice será el nombre de la promoción.
Te he puesto el código tabulado para que sea más legible, ya luego tu lo transcribes como mejor te parezca.

Saludos.
  #5 (permalink)  
Antiguo 15/06/2005, 06:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 7 meses
Puntos: 102
.. no pedí TODO el HTML... .. de hecho hasta me hubiera quejado :-p .. jejejeje... solo preguntaba por el HTML involucrado (en este caso los checkboxes)... y su resultado final... como te dije, no creas una matriz, fijate que de la forma en que lo puso pellagofio ya crea esto: name="nombrePromo['algo']" ... eso sí es una matriz...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 15/06/2005, 06:49
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 4 meses
Puntos: 0
Ok chicos, lo probaré esta tarde.

Un saludo
bye
  #7 (permalink)  
Antiguo 15/06/2005, 06:57
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 7 meses
Puntos: 102
http://www.forosdelweb.com/showpost....47&postcount=8
http://www.forosdelweb.com/showpost....64&postcount=6
http://www.forosdelweb.com/showpost....2&postcount=12

.. cansa... ..
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 08/07/2005, 01:54
 
Fecha de Ingreso: noviembre-2004
Mensajes: 72
Antigüedad: 19 años, 4 meses
Puntos: 0
HOla a todos
Retomo este hilo, solo para agradeceros vuestra ayuda. Este tema lo tube aparcado unas semanas y cuando lo retomé, el amigo pellagofio me hizo ver un enfoque diferente a mi planteamiento.
http://www.forosdelweb.com/f18/como-recogo-variables-formulario-array-314376/

x jam1138
Gracias por tus comentarios. Muchas Gracias.

Un saludo pa los dos.
bye
  #9 (permalink)  
Antiguo 16/07/2008, 13:35
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Pasar arrays con checkbox en formulario

Cita:
Iniciado por jam1138 Ver Mensaje
... pués sí.. te sugiero mencionar el error exácto que tienes ... adivinos no hay acá...

... ¿cuál es tu HTML final?? seguro que generas los checkbox como matrices??? ... osease, tienes los names de esta forma: name="algo[]"???... a simple vista no lo parece...

Saludos!
Realmente creo que los Colaboradores deben estar para ayudar a resolver problemas, no para burlarse ni degradar a gente que recien empieza a programar .
Aparte tenes 2 estrellas nomas , no se quien te crees gil.

Un abrazo a Bit11 y a pellagofio, quienes si se preocuparon por encontrar una solucion.

Salu2 bye.
  #10 (permalink)  
Antiguo 16/07/2008, 13:45
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: Pasar arrays con checkbox en formulario

Cita:
Iniciado por Delcio Ver Mensaje
Realmente creo que los Colaboradores deben estar para ayudar a resolver problemas, no para burlarse ni degradar a gente que recien empieza a programar .
Aparte tenes 2 estrellas nomas , no se quien te crees gil.

Un abrazo a Bit11 y a pellagofio, quienes si se preocuparon por encontrar una solucion.

Salu2 bye.
Hi !

No creo que lo haya hecho a proposito, es verdad que muchas dudas se solucionan mejor si se dan todos los recursos pertinentes... Si me hablas del HTML (En esta caso los Checkboxes) y la programación, etc... Está bueno proporcionar todos los recursos para solucionar los problemas.

Es más acá la solución se encontró por fuera, el usuario leyó algo que le interesó. Pero bien se podria haber solucionado de alguna otra manera si se hubiece mencionado el contexto en el que trabajaba, y mostraba mas codigo (Es ejemplo, no quiere decir que aqui haya pasado TODO lo que digo).

Nadie se burla de nadie me parece.

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--
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:12.