4
respostas

Produto adiciona , mais não lista no produto-lista.php

Bom dia senhores , por favor vocês que já fizeram o curso , tem como me ajudar aqui.. estou com uma duvida , depois que encapsulei os campos o meu produto adiciona , mais não lista. na lista dos produtos adicionados.

Att

Segue os códigos do adiciona e lista produtos.

-- adiciona Produto --

<?php require_once("cabecalho.php");?> <?php require_once("logica-usuario.php");?> <?php require_once("conecta.php"); require_once("class/Produto.php"); require_once("class/Categoria.php"); verificaUsuario(); ?>

<?php $produto = new Produto; $categoria = new Categoria;

$categoria->setId($_GET['categoria_id']);

$produto->setId($_GET['id']); $produto->setNome($_GET['nome']); $produto->setPreco($_GET['preco']); $produto->setDescricao($_GET['descricao']); $produto->setCategoria($categoria);

?>

<?php

function insereProduto($conexao, Produto $produto){ $query = "insert into produtos (nome, preco,descricao,categoria_id) values ('{$produto->getNome()}', {$produto->getPreco()},'{$produto->getDescricao()}','{$produto->getCategoria()->getId()}')"; $resultadoDaInsercao = mysqli_query($conexao, $query); return $resultadoDaInsercao; } ?> <?php

if(insereProduto($conexao,$produto)){ ?>

Produto <?= $produto->getNome(); ?> Preço <?= $produto->getPreco(); ?> adicionado com sucesso!

<?php } else{ $msg = mysqli_error($conexao); ?>

Produto <?= $produto->getNome(); ?>, <?= $produto->getPreco(); ?> nao foi adicionado: <?= $msg ?>

<?php } ?>

<?php require_once("rodape.php"); ?>

-- produto lista--

<?php require_once("cabecalho.php"); ?> <?php require_once("banco-produto.php");?> <?php require_once("logica-usuario.php"); require_once("class/Produto.php"); require_once("class/Categoria.php"); verificaUsuario(); if(isset($_SESSION["success"])) { ?>

<?= $_SESSION["success"]?>

<?php unset($_SESSION["success"]); } ?>

<?php $produtos = listaProdutos($conexao); ?>

<?php if(array_key_exists("removido", $_GET) && $_GET['removido']=='true') { ?>

Produto apagado com sucesso.

<?php } ?>

<?php

foreach ($produtos as $produto) : ?>

<?= $produto->getNome() ?><?= $produto->getPreco() ?><?= $produto->valorComDesconto(0.1) ?><?= substr($produto->getDescricao(),0,40) ?><?= $produto->getCategoria()->getNome() ?>alterar

<?php endforeach ?>

<?php include("rodape.php"); ?>

-- Banco produto --

<?php include("conecta.php"); require_once("class/Produto.php"); require_once("class/Categoria.php"); function listaProdutos($conexao) { $produtos = array(); $resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome from produtos as p join categorias as c on p.categoria_id = c.id"); while($produto_atual = mysqli_fetch_assoc($resultado)) { $produto = new Produto; $categoria= new Categoria; $categoria->setNome($produto_atual['categoria_nome']); $produto->setId($produto_atual['id']); $produto->setNome($produto_atual['nome']); $produto->setPreco($produto_atual['preco']); $produto->setDescricao($produto_atual['descricao']); $produto->setCategoria($categoria);

array_push($produtos, $produto); }

return $produtos;

}

function insereProduto($conexao, Produto $produto) { $query = "insert into produtos (nome, preco, descricao, categoria_id) values ('{$produto->nome}', {$produto->getPreco()}, '{$produto->descricao}', {$produto->categoria->id})"; $resultadoDaInsercao = mysqli_query($conexao, $query); }

function removeProduto($conexao,$id){

$query= "delete from produtos where id={$id}"; return mysqli_query($conexao,$query);

}

function buscaProduto($conexao,$id){ $query ="select * from produtos where id={$id}"; $resultado = mysqli_query($conexao,$query); return mysqli_fetch_assoc($resultado);

}

function alteraProduto($conexao,Produto $produto){

$query = "update produtos set nome = '{$produto->setNome($nome)}', preco = {$produto->setPreco($preco)}, descricao = '{$produto->setDescricao($descricao)}', categoria_id= {$produto->setCategoria_id($categoria)} where id = '{$produto->setId($id)}'"; return mysqli_query($conexao, $query);

}

4 respostas

Mas ele aparece um erro ou algo assim ?? tem como printar e mandar oq acontece ?

ele mostra a mensagem de produto adicionado com sucesso , mais não lista no produto-lista.php

O problema estava no select dentro da função lista-produtoss.php..

Foi resolvido !

Obg.

Ok.