My difficulty happens because I created a dynamic grid where I generate sequential rows to include products, so I do not have the names of the traditionally fixed input.
In this case I assign sequential numbering accordingly that I enter the rows.
Ex:
I WILL FOCUS ONLY IN THE PRODUCT FIELD, THE OTHERS WILL FOLLOW THE SAME CONFIGURATION
And when I receive these values I can not read the data ...
$COMPRAS = NEW Compras();
$total = $_GET['hidden_total'] ; // recebo o valor total da compra
$linha = $_GET['hidden_linha'] ; // recebo o numero de linhas de produtos inseridos
for ( $i = 1 ; $i <= $linha ; $i ++ ) {
$produto.$i = strtoupper($_POST['produto'.$i]) ;
$qtd.$i = $_POST['qtd'.$i] ;
$valor.$i = $_POST['valor'.$i] ;
$COMPRAS->produto.$i($produto.$i);
$COMPRAS->qtd.$i($qtd.$i);
$COMPRAS->valor.$i($valor.$i);
}
and the class receives the data this way ...
public function produto($produto) { $this->produto = $produto; }
public function qtd($qtd) { $this->qtd = $qtd; }
public function valor($valor) { $this->valor = $valor; }
### INSERT DE PRODUTOS ### x_produtos_cadastro -> x_produtos_cadastro_ok
public function insert(){
$sql = "INSERT INTO $this->table ( produto,qtd,valor )
VALUES ( :produto,:qtd,:valor )";
$z = DB::prepare($sql);
//$z->bindParam(':usuario' , $this->usuario);
$z->bindParam(':produto' , $this->produto);
$z->bindParam(':qtd' , $this->qtd);
$z->bindParam(':valor' , $this->valor);
return $z->execute();
}