Este é um post disponível para assinantes MVPVocê também pode acessá-lo através de Créditos DevMedia. Clique aqui para saber mais!
Video: Relatório de Vendas - Curso PHP (Módulo II) - Parte 72
Nesta vídeo aula será mostrado como criar um relatório das vendas.
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Tempo: 14:30 min
Mini Resumo: Nesta vídeo aula será mostrado como criar um relatório das vendas. A ideia é mostrar o
relacionamento entre vendas e itens_vendas. Utilizando uma classe DAO, será retornado
objetos VO, estes VO irão ter relação, tanto com vendas, como itens_vendas. Com
isso é possível associar um objeto ao outro. Em prática iremos utilizar a
analogia de relatórios para trabalhar com esta relação.
Tecnologias utilizadas: PHP, MySQL
Exemplos construídos: PDO
Palavras chaves: PHP, PDO, Boas Práticas, Orientação a
Objetos, OOP, POO, Smarty Template, Boas práticas
Rafael Silva
Especialista há diversos anos em tecnologias de desenvolvimento como .net, PHP, Android, Delphi, MySQL, Java e front-end. Ministrou aulas e produziu diversos artigos, vídeos e cursos online sobre estas tecnologias.
O que você achou deste post?
4 COMENTÁRIOS
Anderson Kerlly Rodrigues De Sousa
Bo dia Rafael. Eu estou quase termnando o projeto, mas alguns erros aparecem na hora de compilar os arquivos. Eu fui logo na última vídeo aula e peguei a parte listar.php desenvolvido e mesmo assim ainda apresenta erros no momento da execução. No momento, estou na parte listar.php.
listar.php
<?php
include("../DAO/ConnectionFactory.php");
include("../VO/ProdutoVO.php");
include("../DAO/ProdutoDAO.php");
include("../VO/ItensVendaVO.php");
include("../DAO/ItensVendaDAO.php");
include("../smarty/libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->template_dir = "../smarty/templates/vendas";
$smarty->compile_dir = "../smarty/templates_c";
$smarty->cache_dir = "../smarty/cache";
$smarty->config_dir = "../smarty/configs";
$dao = new ItensVendaDAO();
$result = $dao->getAll();
$daoProd = new ProdutoDAO();
foreach($result as $value){
$VoProd = $daoProd->getByID($value["produto"]);
$id[] = $value["id"];
$produto[] = $VoProd->getDescricao();
}
$smarty->assign("id", $id);
$smarty->assign("produto", $produto);
$smarty->display("listar.tpl");
?>
listar.tpl
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table width="100%" border="2px" cellpadding="0" cellspace="0">
<tr bgcolor="#c0c0c0">
<td>ID</td>
<td>PRODUTO</td>
<td>QUANTIDADE</td>
<td>VALOR</td>
<td>TOTAL</td>
<tr>
{section name = i loop=$id}
<tr>
<td>{$id[i]}</td>
<td>{$produto[i]}</td>
<td>{$id[i]}</td>
<td>{$quantidade[i]}</td>
<td>{$valor[i]}</td>
<td>{$total[i]}</td>
<tr>
{/section}
</table>
</body>
</html>
Os erros que aprecem são:
Notice: Undefined variable: venda in C:\wamp\www\LojaVirtual\DAO\ItensVendaDAO.php on line 51
Warning: Invalid argument supplied for foreach() in C:\wamp\www\LojaVirtual\vendas\listar.php on line 23
Notice: Undefined variable: id in C:\wamp\www\LojaVirtual\vendas\listar.php on line 30
Notice: Undefined variable: produto in C:\wamp\www\LojaVirtual\vendas\listar.php on line 31
Na vídeo aula no momento que acessa a página listar.php aparece o link "Add Item", no meu caso aparece esses erros acima. Acho que talvez seja a versão do smart e do netbeans. Uso o Smarty 3.1.11 Released e o netbeans 7.01. O banco pdo_dao está ok, olhei todos os registros para ver se não tinha alguma incompatibilidades de valores, mas está ok. De qualquer forma gostaria da tua ajuda pra ver exatamento o erro na execução da página listar.php. De antemão fico agradeçido pela sua atenção.
ANDERSON KERLLY
listar.php
<?php
include("../DAO/ConnectionFactory.php");
include("../VO/ProdutoVO.php");
include("../DAO/ProdutoDAO.php");
include("../VO/ItensVendaVO.php");
include("../DAO/ItensVendaDAO.php");
include("../smarty/libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->template_dir = "../smarty/templates/vendas";
$smarty->compile_dir = "../smarty/templates_c";
$smarty->cache_dir = "../smarty/cache";
$smarty->config_dir = "../smarty/configs";
$dao = new ItensVendaDAO();
$result = $dao->getAll();
$daoProd = new ProdutoDAO();
foreach($result as $value){
$VoProd = $daoProd->getByID($value["produto"]);
$id[] = $value["id"];
$produto[] = $VoProd->getDescricao();
}
$smarty->assign("id", $id);
$smarty->assign("produto", $produto);
$smarty->display("listar.tpl");
?>
listar.tpl
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table width="100%" border="2px" cellpadding="0" cellspace="0">
<tr bgcolor="#c0c0c0">
<td>ID</td>
<td>PRODUTO</td>
<td>QUANTIDADE</td>
<td>VALOR</td>
<td>TOTAL</td>
<tr>
{section name = i loop=$id}
<tr>
<td>{$id[i]}</td>
<td>{$produto[i]}</td>
<td>{$id[i]}</td>
<td>{$quantidade[i]}</td>
<td>{$valor[i]}</td>
<td>{$total[i]}</td>
<tr>
{/section}
</table>
</body>
</html>
Os erros que aprecem são:
Notice: Undefined variable: venda in C:\wamp\www\LojaVirtual\DAO\ItensVendaDAO.php on line 51
Warning: Invalid argument supplied for foreach() in C:\wamp\www\LojaVirtual\vendas\listar.php on line 23
Notice: Undefined variable: id in C:\wamp\www\LojaVirtual\vendas\listar.php on line 30
Notice: Undefined variable: produto in C:\wamp\www\LojaVirtual\vendas\listar.php on line 31
Na vídeo aula no momento que acessa a página listar.php aparece o link "Add Item", no meu caso aparece esses erros acima. Acho que talvez seja a versão do smart e do netbeans. Uso o Smarty 3.1.11 Released e o netbeans 7.01. O banco pdo_dao está ok, olhei todos os registros para ver se não tinha alguma incompatibilidades de valores, mas está ok. De qualquer forma gostaria da tua ajuda pra ver exatamento o erro na execução da página listar.php. De antemão fico agradeçido pela sua atenção.
ANDERSON KERLLY
[há +1 mês] -
Responder
Wesley Yamazack
Olá Anderson, entramos em contato com o autor para que ele possa te auxiliar, tudo bem ? Peço que aguarde um pouco até que o mesmo possa retornar o contato.
Um abraço.
Um abraço.
[há +1 mês] -
Responder
[autor]
Rafael Silva
Anderson,
Pq as variaveis suas do PHP estão diferentes da TPL?
Pq as variaveis suas do PHP estão diferentes da TPL?
[há +1 mês] -
Responder
Wesley Yamazack
Olá Anderson, você conseguiu resolver o problema?
Um abraço
Um abraço
[há +1 mês] -
Responder
Cursos relacionados
Publicidade

download

