Hola Patriarka, gracias por tu ayuda.
Mira en si no utilizo ningun while, el codigo que tengo para hacer el insert es el siguiente, este codigo esta en el actaController.php
Código PHP:
$nom_prod=$_POST['nombre'];
$cant_prod=$_POST['cantidad'];
$tot_com=$_POST['total'];
$ent_si_no=$_POST['ent_si_no'];
//$ent_no=$_POST['ent_si_no'];
$obs_ent=$_POST['observacion'];
$prod_id=$_POST['product_id'];
$user=$_POST['user_id'];
$refer_ped=$_POST['referen'];
if (isset($_POST['nombre'])){
if (!empty($_POST['ent_si_no'])){
for($i = 0; $i<count($nom_prod); $i++){
$acta="INSERT INTO ps_acta (ing_si_no, observacion, product_id, user_id, reference, cantidad, total)
VALUES ('$ent_si_no[$i]', '$obs_ent[$i]', '$prod_id[$i]', '$user[$i]', '$refer_ped[$i]', '$cant_prod[$i]', '$tot_com[$i]')";
Db::getInstance()->execute($acta); }
}
} else {
echo 'aun no guarda nada';
}
El segundo if que tu ves if(!empty) lo estaba probando para tratar de validar los checks, el problema esque no me valida por filas sino solo uno en toda la tabla.
Como dije en el primer mensaje yo publico los datos enviandolos del php al tpl con la siguiente consulta:
Código PHP:
$refer=$_POST['referencia'];
//Tools::getValue('email');
$productos="SELECT
b.id_cart,
c.name AS nombre,
b.quantity AS cantidad,
d.price,
d.price * b.quantity AS Total,
a.reference,
b.id_product AS producto
FROM ps_orders AS a, ps_cart_product AS b, ps_product_lang AS c, ps_product AS d
WHERE a.id_cart = b.id_cart
AND b.id_product = c.id_product
AND b.id_product = d.id_product
AND a.reference = '$refer'
AND c.id_lang = 2";
$this->context->smarty->assign('lista', Db::getInstance()->executeS($productos));
$this->context->smarty->assign('envio', $refer);
$this->setTemplate(_PS_THEME_DIR_.'acta.tpl');
y en el tpl armo la tabla con el {foreach} aqui es donde le agrego los checkbox.