Skip to content

Instantly share code, notes, and snippets.

@caironm
Last active April 27, 2019 01:28
Show Gist options
  • Save caironm/d12af0718b709f27b07dd02189e80297 to your computer and use it in GitHub Desktop.
Save caironm/d12af0718b709f27b07dd02189e80297 to your computer and use it in GitHub Desktop.
Um exemplo de código
<?php
/* finja que há cabeçalhos aqui */
/*
Pegando os dados das tabelas.
*/
$empresa_promo = $database->select("empresa_produto", [
"[>]empresa_login" => ["empresa_login_id" => "id"],
"[>]empresa_categoria" => ["empresa_categoria_id" => "id"],
"[>]categorias" => ["categorias_id" => "id"],
"[>]empresa_descontos" => ["id" => "empresa_produto_id"],
], [
"empresa_login.nome_loja",
"categorias.nome_categoria",
"empresa_categoria.nome_subcateg",
"empresa_produto.nome",
"empresa_produto.descricao",
"empresa_produto.preco",
"empresa_produto.capa",
"empresa_produto.galeria",
"empresa_produto.data",
"empresa_produto.id(id_produto)",
"empresa_descontos.id",
"empresa_descontos.desconto_tipo",
"empresa_descontos.desconto_valor",
"empresa_descontos.semana",
"empresa_descontos.validade",
"empresa_descontos.regras",
"empresa_descontos.inicio",
"empresa_descontos.fim",
"empresa_descontos.aparecer",
"empresa_descontos.influenciador",
"empresa_descontos.quantidade",
"empresa_descontos.data",
], [
"empresa_descontos.aparecer" => 1,
"empresa_produto.promo" => 1,
"ORDER" => ["empresa_descontos.id" => "DESC"]
]);
if(!empty($empresa_promo)) {
/*
Conta o total de resultados
*/
$contar2 = count($empresa_promo);
$produtos = Array();
$precofinal = Array();
$desconto = Array();
/*
Cria um laço de repetição para recriar esse array de resultados
*/
for ($i = 0; $i < $contar2; $i++) {
if ($empresa_promo[$i]['desconto_tipo'] == 0) {
$precofinal[$i] = ($empresa_promo[$i]['preco'] - (($empresa_promo[$i]['preco'] / 100) * $empresa_promo[$i]['desconto_valor']));
$desconto[$i] = $empresa_promo[$i]['desconto_valor']."%";
} else {
$precofinal[$i] = ($empresa_promo[$i]['preco'] - $empresa_promo[$i]['desconto_valor']);
$desconto[$i] = "R$ ".$empresa_promo[$i]['desconto_valor'];
}
/*
Cada volta que o laço dá ele cria um array de indice dinâmico dentro do array $produtos
*/
array_push($produtos, array(
'loja' => $empresa_promo[$i]['nome_loja'],
'categoria' => $empresa_promo[$i]['nome_categoria'],
'subcategoria' => $empresa_promo[$i]['nome_subcateg'],
'nome' => $empresa_promo[$i]['nome'],
'descricao' => $empresa_promo[$i]['descricao'],
'preco' => 'R$ '.number_format($empresa_promo[$i]['preco'], 2, ',', '.'),
'precofinal' => 'R$ '.number_format($precofinal[$i], 2, ',', '.'),
'desconto' => $desconto[$i],
'capa' => $empresa_promo[$i]['capa'],
'galeria' => json_decode($empresa_promo[$i]['galeria']),
'id_desconto' => $empresa_promo[$i]['id'],
'id_produto' => $empresa_promo[$i]['id_produto'],
'semana' => $empresa_promo[$i]['semana'],
'validade' => $empresa_promo[$i]['validade'],
'regras' => $empresa_promo[$i]['regras'],
'inicio' => date('d/m/Y', strtotime($empresa_promo[$i]['inicio'])),
'fim' => date('d/m/Y', strtotime($empresa_promo[$i]['fim'])),
'aparecer' => $empresa_promo[$i]['aparecer'],
'influenciador' => $empresa_promo[$i]['influenciador'],
'quantidade' => $empresa_promo[$i]['quantidade'],
'data' => date('d/m/Y', strtotime($empresa_promo[$i]['data']))
));
}
// Traz a resposta em json
Flight::json($produtos);
}
else {
Flight::json(array("data" => "Não há nenhuma promoção cadastrada"));
}
@caironm
Copy link
Author

caironm commented Apr 27, 2019

O resultado pode ser assim:
[ { "loja": "Cairon M Loja", "categoria": "Informática", "subcategoria": "Smartphones", "nome": "iPhone X", "descricao": "64GB Apple Tela 5.8 Câmera 12MP - Prata", "preco": "R$ 4.322,45", "precofinal": "R$ 3.890,21", "desconto": "10%", "capa": "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcRjFBPcQ3RfFqXFJ4pqS0fsJ2xibXH_40m2NZ4zOn-fIVJpgfV0&usqp=CAY", "galeria": [ "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcRy_4zLjidd3EaB_xxmuXlvb_JKG5amExy_re9tKOephnoLUQQb&usqp=CAY", "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcSKmH2937V0qLaUtK7fDyyzxOVezNVAL1X3oD2iSbGjG-6du2w&usqp=CAY", "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcSwlnnYZUO-7vepgbgrEcarzEd0jcfP2OZfzina0zgHZuGnILPq&usqp=CAY", "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcQvHbpFRZBgrSDcrbEXPHKPAWqvO8rHz_uRGgc0pdqTJxkpjJnL&usqp=CAY", "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcT-3T9pFUPysicx9R69olDoHSTX_VBciNYXU24PTinlUyonErjM&usqp=CAY", "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQ4nX6CORtS_RWoUa3h5UarWPqbv79DWf3pNpVXMfnj1S86CTg&usqp=CAY" ], "id_desconto": "7", "id_produto": "9", "semana": "Valido de acordo com o funcionamento da empresa", "validade": "3", "regras": "", "inicio": "23/03/2019", "fim": "30/04/2019", "aparecer": "1", "influenciador": "", "quantidade": "151", "data": "22/03/2019" }, { "loja": "Cairon M Loja", "categoria": "Informática", "subcategoria": "Notebooks", "nome": "Notebook Samsung Expert NP350XAA-VD1BR", "descricao": "Core i5-7200U 8GB 1TB Placa de Vídeo 2GB Tela 15.6 Windows 10", "preco": "R$ 2.658,00", "precofinal": "R$ 2.458,00", "desconto": "R$ 200", "capa": "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcRIRhBedKYSZ7c96VyHnUGpQTUQaFJy86quBxu-F55n516ToCWJ&usqp=CAY\n", "galeria": [ "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcTXPm_PTUOwWJj-xSC1Cq-N2c-B1ipaTqXmBAnPvEtL0Fq83Og&usqp=CAY", "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcTywwhcjKSVri1Y7elKexXRoGv2VbFv4NXRb_DbTxfZ6_vbhafg&usqp=CAY", "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcR3I_PLC3e-hCV-rP4Z9IciMpEo1pvaz8Zzs8SoHs1YpxaxJUQ&usqp=CAY", "https://encrypted-tbn2.gstatic.com/shopping?q=tbn:ANd9GcShz5X-412clx-03uGAfKU3db7ymmk-7kXK4XArmWbNVetemNd7&usqp=CAY" ], "id_desconto": "2", "id_produto": "2", "semana": "Valido de acordo com o funcionamento da empresa", "validade": "3", "regras": "", "inicio": "24/03/2019", "fim": "10/05/2019", "aparecer": "1", "influenciador": "", "quantidade": "200", "data": "22/03/2019" } ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment