Foros del Web » Programando para Internet » PHP »

Guardar Datos si estan en checked

Estas en el tema de Guardar Datos si estan en checked en el foro de PHP en Foros del Web. Saludos. Tengo el siguiente prolema. Tengo una tabla de "Clientes" una de "Productos" y una que me asocia productos a los clientes. Cuando asigno productos ...
  #1 (permalink)  
Antiguo 20/06/2002, 15:23
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 10 meses
Puntos: 1
Guardar Datos si estan en checked

Saludos.

Tengo el siguiente prolema. Tengo una tabla de "Clientes" una de "Productos" y una que me asocia productos a los clientes.

Cuando asigno productos a los clientes requiero guardar en una tabla los valores respetivos. Ej:

Cliente 1 - Producto 1
Cliente 1 - Producto 2

Algo así $query = INSERT pc (cliente, producto) values (cliente1, producto1)

pero la tabla productos puede crecer ifinitamente.

De tal forma no puedo colocar un codigo duro en el query, porque pueden variar los numeros de campos a guardar.

Los productos los seleccioo con unos INPUT tipo checkbox guardado en el value en id del producto.

Como puedo armar el query del INSERT para que funcione con n cantidad de productos en estado checked?

Gracias

  #2 (permalink)  
Antiguo 20/06/2002, 16:47
 
Fecha de Ingreso: noviembre-2001
Ubicación: Quito - Ecuador
Mensajes: 87
Antigüedad: 23 años
Puntos: 0
Re: Guardar Datos si estan en checked

Te pongo lo que yo tengo, por cada cliente enumero los productos le asigo productos a un clinete y sigo asi de uno en uno, a continuacion va el codigo que utilizo:


<form action=insertar.php>
<?php
//Aqui lo que haces es enumerar los productos
$res_sub1=mysql_query ("SELECT * FROM productos");

while($fila = mysql_fetch_array($res_sub1))
{
echo"$fila[PRODUCTO]<input type=\"checkbox\" name=\"prod[]\" value=\"$fila[ID]\">";
echo"<br>";
}
?>
<input type="hidden" name="idcliente" <?php echo"value=\"$idcliente\"";?&g t;>
</form>

Pagina insertar.php

//aqui veo cuantos productos estan seleccionados(chequeados)
$numprod=count($prod);
if($numprod>=1)
{
//Inserta en la tabla productos-clientes segun productos seleccionados
for($i=0;$i<$numprod;$i++)
{
echo"<b>Cliente asignado a:</b>".$prod[$i];
echo"<br>";
mysql_query("INSERT INTO pc VALUES('','$idcliente','$prod[$i]')");
}

}
}


esto es lo que utilizo y vale para mi, espero te sirva revisa el codigo y acomodalo
Me avisas como te fue
  #3 (permalink)  
Antiguo 21/06/2002, 11:09
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 10 meses
Puntos: 1
Re: Guardar Datos si estan en checked

Saludos.

Efectivamente encontre la solución un poco parecida a la tuya.

Cada checkbox lo llame igual para formar el arreglo. Ej:

chkname[]

Luego, al momento de insertar en la tabla que me relaciona a los clientes con los productos, cuento primero cuantos valores me trae el arreglo chkname.

Y con un FOR desde 0 hasta NUMERO_VALORES - 1 hago el INSERT.

NUMERO_VALORES - 1 porque si no me ingresa un valor con producto = 0.

Gracias.
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 12:08.