The problem is in string concatenation.
The $qu variable is being used to concatenate your sql command. What happens is the following:
Value of $qu before loop:
insert into ficha (id_controle,id_pedido,id_cliente,quantidade,****id- produto****,cor,valormontagem,valoracrescimo,dataentrega,datamontagem,obs)
Notice what is between ****, you may have an error in the sql command, check the column name.
$qu value after first loop iteration:
insert into ficha (id_controle,id_pedido,id_cliente,quantidade,****id- produto****,cor,valormontagem,valoracrescimo,dataentrega,datamontagem,obs)values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')
Notice that VALUES is pasted with ), you will probably get error in the first iteration even.
In the second loop iteration you will be joining the value of $qu with values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')
, resulting in:
insert into ficha (id_controle,id_pedido,id_cliente,quantidade,id- produto,cor,valormontagem,valoracrescimo,dataentrega,datamontagem,obs)values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')
The word VALUES
is repeating what is incorrect in sql syntax, the correct should be:
insert into ficha (id_controle,id_pedido,id_cliente,quantidade,id- produto,cor,valormontagem,valoracrescimo,dataentrega,datamontagem,obs) values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg'), ('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')
And it happens more and more every time the loop turns.
Instead of:
$qu.="values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')";
$p=mysqli_query($conn,$qu);
Try:
$p=mysqli_query($conn,$qu . " values('$ct','$pedido','$idcliente','$quant','$descricao','$cor','$valorm','$acrescimo','$entrega','$montagem','$tsmg')");
This way you do not assign the concatenation in $qu, note that I also put a space before values