Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
galera preciso criar um array que pegue os itens adicionais de cada ITEM escolhido...
vou tentar explicar...
tenho uma pagina com as categorias do CARDÁPIO
LANCHES - AÇAI - SALGADOS - PIZZAS
CADA categoria contem seus devidos itens tipo...
LANCHES
1-xFrango
2-xSalada
3-xBacon
AÇAI
1-Copo 300ml
2-Copo 500ml
3-Copo 700ml
até esta funcionando, cada item que o usuário escolher, salvo em uma S_SESSION['itens']
agora vamos supor que, esses itens tenham adicionais, já criei um **<?php if(){}?> **e ele já faz essa verificação, então se o item **LANCHES 1=XFRANGO NÃO **conter adicional para ser escolhido ele simplesmente irá ser adicionado no carrinho, AGORA se o item tiver adicional para ser escolhido, irá abrir um MODAL com os adicionais disponíveis para o ITEM
Agora digamos que o **AÇAÍ) 1-COPO 300ML tenha adicional** eu abro o meu modal com os seguintes adicionais:
FRUTAS
1-Morango 1,00
2-Banana 1,00
3-Uva 1,00
COMPLEMENTOS
1-Ninho 1,00
2-Coco Ralado 1,00
3-Castanha 1,00
COBERTURA
1-Chocolate 1,00
2-Leite condensado 1,00
3-Morango 1,00
ADICIONAIS
1-Nutella 1,00
2-Bis 1,00
3-KitKat 1,00
então como pego esses adicionais e salvo em cada ITEM escolhido pelo usuário e se possivel somar esses adicionais que tenha valores também
então no seguinte link esta assim
<?php
$cesta = array("Maça", "Morango", "Banana");
echo "<pre>";
print_r($cesta);
?>
IMPRIME A SEGUINTE ESTRUTURA....
Array
(
[0] => Maça
[1] => Morango
[2] => Banana
)
eu tenho um while PHP que me traz esses dados
while($resultItensExtras = $conectaItensExtras->fetch_object()){
echo $itemextras = $resultItensExtras->nomeItemExtra;
}
até aqui blz imprime os devidos resuldados da pesquisa SQL
MAIS como eu salvo esses devidos resultados em para usa-los posteriormente...
JA TENTEI ASSIM
$_SESSION['dados'] = array();$itemextras = $resultItensExtras->nomeItemExtra;
$_SESSION['dados'] = $resultItensExtras->nomeItemExtra;
}
<?php print_r ($_SESSION['dados'])?>
mais só imprime o último resultado
fala galera estou quase conseguindo o que quero
consegui salvar meu resultado while em um array e pega-los depois..
<?php $dadosArray = array(); //Monto o Array
while($resultItensExtras = $conectaItensExtras->fetch_object()){
array_push($dadosArray,$resultItensExtras->nomeItemExtra);
}?>
//Aqui fora do while eu pego todos os itens salvos no array
<?php echo implode(",",$dadosArray)?>
isso aqui esta funfando certinho, então ele esta pegando todos os itens extras dos meus pedidos
agora mais uma coisinha, reparem la na minha pergunta na forma do meu cardapio...
FRUTAS
1-Morango 1,00
2-Banana 1,00
3-Uva 1,00
COMPLEMENTOS
1-Ninho 1,00
2-Coco Ralado 1,00
3-Castanha 1,00
COBERTURA
1-Chocolate 1,00
2-Leite condensado 1,00
3-Morango 1,00
ADICIONAIS
1-Nutella 1,00
2-Bis 1,00
3-KitKat 1,00
como eu separo os itens extras pelas devidas categorias tipo, o cidadão escolheu como adicional
FURTAS=> Morango R$ 1.00
Banana R$ 1.00
COBERTURA=> Leite Condensado R$1.00
Morango R$1.00
ADICIONAIS=> kitKat 1.00
Como sair assim separadinho???eu fiz assim
<?php
$dadosArray = array();
while($resultItensExtras = $conectaItensExtras->fetch_object()){
$tituloExtra = $resultItensExtras->tituloExtra;
array_push($dadosArray,$tituloExtra.'->'.$resultItensExtras->nomeItemExtra.'<br>')
}?>
<?php echo implode($dadosArray)?>
só que na hora de imprimir me retorna uma categoria para cada ITEM ficando assim
Frutas->Morango
Frutas->Banana
Complementos->Ninho
Complementos->Coco ralado
Complementos->Castanha
Complementos->Granola
Cobertura->Morango
Cobertura->Leite Condensado
Adicionais->Bis
Adicionais->KitKat
Você tem que adicionar um novo indice a cada entrada de itens, depois no indice de itens, os de igredientes.
Fiz uma lógica rápida, usando Session e ArrayPush
Note que:
add_itens(Array de Produdos, Indice do Produto);
add_extra( Indice do Produto, Adicionais e Id);
<?php
$produto = [
'Copo 300ml',
'Copo 500ml',
'Copo 700ml',
];
$fruta = [
['Morango', '1.00'],
['Banana', '1.00'],
['Uva', '1.00'],
];
$complementos = [
['Ninho', '1.00'],
['Coco Ralado', '1.00'],
['Castanha', '1.00'],
];
$cobertura = [
['Chocolate', '1.00'],
['Leite condensado', '1.00'],
['Morango', '1.00'],
];
$adicionais = [
['Nutella', '1.00'],
['Bis', '1.00'],
['KitKat', '1.00'],
];
$_SESSION = [];
function add_itens($produto, $item) {
array_push($_SESSION, ['item' => $produto[$item]]);
}
function add_extra($produto, $item) {
array_push($_SESSION[$produto], ['ingredientes' => $item]);
}
add_itens($produto, 1);
add_extra(0, $fruta[2]);
add_extra(0, $cobertura[1]);
add_itens($produto, 2);
add_extra(1, $fruta[1]);
add_extra(1, $adicionais[1]);
print_r($_SESSION);
Saida
Array
(
[0] => Array
(
[item] => Copo 500ml
[0] => Array
(
[ingredientes] => Array
(
[0] => Uva
[1] => 1.00
)
)
[1] => Array
(
[ingredientes] => Array
(
[0] => Leite condensado
[1] => 1.00
)
)
)
[1] => Array
(
[item] => Copo 700ml
[0] => Array
(
[ingredientes] => Array
(
[0] => Banana
[1] => 1.00
)
)
[1] => Array
(
[ingredientes] => Array
(
[0] => Bis
[1] => 1.00
)
)
)
)
Bom trabalho!
Adicionar https://www.php.net/manual/pt_BR/function.array-push.php
Somar https://www.php.net/manual/pt_BR/function.array-sum.php