Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2016, 17:32
Avatar de cassini
cassini
 
Fecha de Ingreso: julio-2009
Mensajes: 98
Antigüedad: 14 años, 9 meses
Puntos: 0
almacenar array en base de datos (checkbox-text)

hola muy buenas!

ando desarrollando un sistemita y debo registrar un array en la base de datos. Tengo un formulario (select) donde al seleccionar el cliente me carga los pedidos que están relacionados a ese cliente

Código PHP:
Ver original
  1. while($resultados = mysqli_fetch_array($consulta)) {
  2. $idPedido = $resultados['idPedido'];
  3. $pedido = $resultados['descPedido'];
  4. $pedidos.="
  5. <input type="checkbox" name="idPedido[]" value="$idPedido">".$pedido."
  6. <input type="text" name="importePedido[]" placeholder="Importe">
  7. ";
  8. }
Ahora tengo la tabla donde pretendo almacenar el idPedido y el importePedido. Donde puede ser que se elija solo uno o todos los checkbox.

id - idPedido - numeroFactura - importePedido
1 - 1 - fac001 - 890
2 - 2 - fac001 - 1500
3 - 1 - fac002 - 5600
A lo mejor esta demás pero es así como pretendo almacenar mis datos en la BD

he tratado de hacerlo con un foreach de la siguiente forma
archivo-procesa.php

Código PHP:
Ver original
  1. $pediFact = "insert into pediFact (idPedido,numeroFactura,importePedido)";
  2.     $pediFact.= " values";
  3.     $pediFact.= " (";
  4.  
  5.     foreach ($_POST['idPedido'] as $datoId => $valorId) {
  6.  
  7.         $pediFact.= "".$valorId.",";
  8.     }
  9.  
  10.     $pediFact.= "'".$_POST['numeroFactura']."',";
  11.  
  12.     foreach ($_POST['importePedido'] as $datoImporte => $valorImporte) {
  13.  
  14.         $pediFact.= "".$valorImporte."";
  15.     }
  16.  
  17.     $pediFact.= ")";
  18.  
  19.     $ejecuta = mysqli_query($conexion,$pediFact);
  20.  
  21.     if($ejecuta){
  22.         echo "Exito!!! :)";
  23.     }else{
  24.         echo "Error :( !!!".mysqli_error($conexion);
  25.     }

pero al mandar el registro me sale el mensaje:
Error :( !!!Column count doesn't match value count at row 1

no se si lo que estoy haciendo es lo ideal pero es así como se me ocurrió.
Ojalá puedan orientarme un poco la verdad creo que ya estoy muy desorientado :(

GRACIAS!!!
__________________
Humildad, ante todo humildad