Foros del Web » Programando para Internet » PHP »

Agregando varios registros por un checkbox

Estas en el tema de Agregando varios registros por un checkbox en el foro de PHP en Foros del Web. Hola amigos, Estoy intentando agregar registros nuevos mediante un checkbox pero el problema es que aunque yo elija 4 productos solamente me agrega 1 ya ...
  #1 (permalink)  
Antiguo 26/01/2002, 11:46
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Agregando varios registros por un checkbox

Hola amigos,

Estoy intentando agregar registros nuevos mediante un checkbox pero el problema es que aunque yo elija 4 productos solamente me agrega 1 ya que el debe ser el mismo para todos.
Por ejemplo:
<input type=checkbox name=Area>Gerencia
<input type=checkbox name=Area>Ventas
etc.. asi lo hago pero solo me agrega el primero, existe algun delay.. o algo asi para que agregue todos los que seleccione.
Gracias por su atención.
  #2 (permalink)  
Antiguo 26/01/2002, 12:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Agregando varios registros por un checkbox

Jarcito, en el nombre del checkbox, cambialo por Area[].

Al recibir los resultados, $Area será un array con todos los resultados que fueron seleccionados.

SAludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #3 (permalink)  
Antiguo 26/01/2002, 13:03
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

Hola Pablo,

Gracias por tu ayuda, pero cuando hago esto en la BD me agrega solo un registro con la palabra Array y no el valor del campo.
Lo hago asi:
&lt;input type=checkbox name=Area[]&gt;Gerencia
&lt;input type=checkbox name=Area[]&gt;Ventas
Y la sentecia para insertarlo es:
mysql_query(&quot;INSERT INTO areas (IDCia,Area)&quot;.
&quot;VALUES ('$IDCia','$Area')&quot;,$link);

Pero no me resulta..
Gracias de nuevo y espero me puedas ayuda.
Salu2.
  #4 (permalink)  
Antiguo 26/01/2002, 13:14
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Agregando varios registros por un checkbox

Es que tienes que recorrer el Array $Area[] y por cada valor alli, hacer un INSERT.

SAludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #5 (permalink)  
Antiguo 26/01/2002, 14:49
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

Gracias de nuevo Pablo,

Pero fijate como apenas comienzo con PHP y programacion el recorrer un array enviado de un formulario todavia no lo he hecho.. si lo he hecho con cosas sencillas por ej.:
$a=array(&quot;a&quot;,&quot;b&quot;,&quot;c&quot; );
foreach($a as $letras) {
echo $letras,&quot;&lt;br&gt;&quot;;
};
Pero pasando del formulario todavia no, he intentando poner en lugar de &quot;a&quot;,&quot;b&quot;,&quot;c&quot; la variable que viene del fomulario $Area pero no resulta.
De nuevo gracias y perdona mi ignorancia.
salu2
  #6 (permalink)  
Antiguo 27/01/2002, 16:52
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: Agregando varios registros por un checkbox

Pues utilizar un array creado en programa o un array que tomamos de un POST o un GET es indistinto. Recorrer un array se hace siempre de la misma manera. La opción del foreach es buena.

SAludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #7 (permalink)  
Antiguo 31/01/2002, 14:00
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

<pre>
foreach($Area as $aux)
{
mysql_query(&quot;INSERT INTO areas (IDCia,Area)&quot;.
&quot;VALUES ('$IDCia','$aux')&quot;,$link);
}
</pre>

y recorda que tenes que utilizar comillas (simples o dobles) en los valores de los atributos en html, por ejemplo

<pre>&lt;input type=text name=nombre&gt; </pre>

no es valido, lo correcto es

<pre>&lt;input type=&quot;text&quot; name=&quot;nombre&quot;&gt; </pre>

el primer caso va a andar bien en explorer (que no cumple muchas normas que digamos), pero no en otros browsers, y ademas te va a traer problemas como el que tuviste de la primera palabra.

saludos

  #8 (permalink)  
Antiguo 02/02/2002, 13:59
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

Hola Pablo.. y Chubu,

Gracias por su ayuda, no habia tenido tiempo de hacer la prueba la hice hasta ahora y me funciono muy bien.. ahora ya hace lo que yo quiero.. agradezco el tiempo que ambos brindaron para solucionar mi problema.

Salu2,
J.V.
  #9 (permalink)  
Antiguo 04/02/2002, 11:57
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

Como les dije gracias por al respuesta anterior.. ahora el problema es que esto me funciona solo con un campo pero ahora que quiero agregar mas campos ya no funciona..lo estoy haciendo asi:
&lt;input type=&quot;checkbox&quot; name=&quot;NomProducto[]&quot; value=&quot;IPL&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;Cantidad[]&quot;&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;NomProducto[]&quot; value=&quot;Hubbing&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;Cantidad[]&quot;&gt;



Para agregarlo lo hago asi: como me habia dicho Chubu:
foreach($NomProducto as $aux)
foreach($Cantidad as $aux1)
{
mysql_query(&quot;INSERT INTO product_cliente (IDCliente,NomProducto,Cantidad) &quot;.
&quot;VALUES ('$IDCliente','$aux,'$aux1)&quot;,$link);
}

Pero ahora le agrego cantidad el problema es que me agrega el doble de registros claro que las cantidades son correctas y coinciden con las que se le puso al producto.. pero me agrega el doble de registros.. como puedo resolver esto?..
Gracias de nuevo.
  #10 (permalink)  
Antiguo 04/02/2002, 13:35
 
Fecha de Ingreso: enero-2002
Mensajes: 27
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Agregando varios registros por un checkbox

Hola de nuevo.. bueno ya resolvi el problema.. mejor dicho.. ya me ayudaron a resolverlo.. aqui les planteo la solucion.. solamente habia que hacer un conteo y no utilizar.. foreach..sino for.. gracias a todos..

for ($i=0;$i&lt;count($NomProducto);$i++){
{
mysql_query(&quot;INSERT INTO product_cliente
(IDCliente,NomProducto,Cantidad,Descripcion)&quot; .&quot;VALUES ('$IDCliente','$NomProducto[$i]','$Cantidad[$i]','$Descripcion[$i]')&quot;,$link)
;
}

Caso cerrado... creo
Salu2.
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 09:36.