Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá galera eu precisava criar um Array mais o menos nessa estrutura
Array{id1 => produto, descrição produto}
tipo um array que pegasse o produto e mais uma descrição do produto vindo de um formulário
como eu faria este array e como eu pegaria o resultado com o foreach?
Primeiro capture-o pelo POST, se o formulário estiver sendo enviado por este método. Depois, basta setar o array para receber esses dados.
e como eu separo os dados? para por eles em uma variavel?
você quer algo numa estrutura +- assim ?:
Array
(
[Produto 1] => Array
(
[id] => 1
[descricao] => produto 1
)
[Produto 2] => Array[id] => 2
[descricao] => produto 2
)
[Produto 3] => Array[id] => 3
[descricao] => produto 3
)
)
Se for, isso você gera dessa forma:
$array = array(
"Produto 1" => array(
"id" => 1,
"descricao" => "produto 1"
),
"Produto 2" => array(
"id" => 2,
"descricao" => "produto 2"
),
"Produto 3" => array(
"id" => 3,
"descricao" => "produto 3"
)
);
echo "<pre>";
print_r($array);>
você quer algo numa estrutura +- assim ?:
Array
(
[Produto 1] => Array
(
[id] => 1
[descricao] => produto 1
)
[Produto 2] => Array
(
[id] => 2
[descricao] => produto 2
)
[Produto 3] => Array
(
[id] => 3
[descricao] => produto 3
)
)
Se for, isso você gera dessa forma:
$array = array(
"Produto 1" => array(
"id" => 1,
"descricao" => "produto 1"
),
"Produto 2" => array(
"id" => 2,
"descricao" => "produto 2"
),
"Produto 3" => array(
"id" => 3,
"descricao" => "produto 3"
)
);
echo "<pre>";
print_r($array);
no meu código que é o seguinte
if(isset($_POST['id_product']) && isset($_POST['qtdProduto'])):
$id_Produto = $_POST['id_product'];
$qtd_produto = $_POST['qtdProduto'];
$obs_produto = $_POST['descipt'];
endif;
if(isset($_SESSION['venda'])):
else:
$_SESSION['venda'] = array();
endif;
if(isset($_POST['id_product'])):
$_SESSION['venda'] [$id_Produto] = $qtd_produto;
endif;
//Dados do Array
foreach($_SESSION['venda'] as $idProd => $Quantidade):
endforeach;
os valores sao pegos por $_POST como eu montaria o array colocando além do id_product e o qtd_product colocando o $_POST['descipt'];aí depende de quais dados, e como eles estão salvos no seu array, de um print_r/var_dump no array que você deseja adicionar a descrição e poste aqui que fica mais facil pra eu te ajudar
O que você esta querendo fazer?
Carrinho de compras?
Orçamento?
Esta @var $obs_produto, é mesmo por produto único ou orçamento/pedido/venda
Explique melhor sua dúvida, ela esta muito ampla!!!!
Pessoal muito obrigado pela ajuda de vocês e graças a algumas dicas obtidas neste tópico eu consegui solucionar meu problema e segue abaixo a solução para que se interessar:
if(isset($_SESSION['venda'])):
$_SESSION['observation'] = array();
else:
$_SESSION['venda'] = array();
endif;
echo '<br />';
if(isset($_POST['id_product'])):
$_SESSION['observation'] [$qtd_produto] = $obs_produto;
$_SESSION['venda'] [$id_Produto] = $_SESSION['observation'];
endif;
if(isset($_GET['cancel']) && $_GET['cancel'] == 'excluir'):
unset($_SESSION['venda']);
header('location: caixa.php');
endif;
$soma = 0;
$total = 0;
$totalReal =0;
foreach($_SESSION['venda'] as $idProd => $array):
foreach($array as $Quantidade => $ObserVer):
$sqlCarrinho = mysql_query("SELECT * FROM products WHERE id = '$idProd'");
$RessAssoc = mysql_fetch_assoc($sqlCarrinho);
$prodIFfinal = $RessAssoc['id'];
$soma = $RessAssoc['valor_venda'] * $Quantidade;
$total += $RessAssoc['valor_venda'] * $Quantidade;
$somaReal = $soma/100;
$totalReal = $total/100;
echo '<tr align="center">';
echo '<td>'.$idProd.'</td>';
echo '<td>'.$Quantidade.'</td>';
echo '<td>'.$RessAssoc['produto'].'</td>';
echo '<td>'."R$".number_format($somaReal,2,",",".").'</td>';
echo'</tr>';
endforeach;
endforeach;
Primeiro capture-o pelo POST, se o formulário estiver sendo enviado por este método. Depois, basta setar o array para receber esses dados.