Boa tarde Luiz Fernando;
Comecei o curso de PHP 2 e fiz algumas melhorias alterações no código lá no Github.
Porém a meu Form trata-botão.php está dando erro ainda...
coloquei uma mensagem de erro para me ajudar:
Erro:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\loja\BD-produto.php on line 33
Erro ao Excluir o Produto no valor de R$ : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
Esse erro acontece quando chamo o trata-botao.php dentro do produto-lista.php em vez de chamar o remove-produto.php direto.... quando chamo ele faz a exclusão normalmente.
Com a chamada do trata-botao.php: Erro acontece
<?php //include("cabecalho.php");
include("conecta.php");
include("BD-produto-lista.php");
?>
<?php// include("BD-produto.php"); retirar o //, caso for usar só a lista separada;?>
<table class="table table-striped table-bordered">
<h2 class="fa fa-list-alt titulo" > Lista de Produtos</h2>
<tr></br>
<th class=" titulo1">Produto</th>
<th class=" titulo1">Preço</th>
<th class=" titulo1">Descrição</th>
<th class=" titulo1">Usado</th>
<th class=" titulo1">Categoria</th>
<th class=" titulo1">Alterar</th>
<th class="titulo1">Excluir</th>
</tr>
<?php
$produtos =listaProduto2($conexao);
foreach ($produtos as $produto) :
?>
<tr>
<td ><?= $produto['nome']?></td>
<td >R$ <?= $produto['preco']?></td>
<td ><?= substr($produto['descricao'], 0, 40)?></td>
<td ><?= $produto['usado']?></td>
<td ><?= $produto['categoria_nome']?></td>
<td>
<form action="alterar-formulario-produto.php" method="POST" >
<input type="hidden" name="id" value="<?= $produto['id']?>">
<button tabindex="0" class=" fa fa-edit btn btn-link ml-auto titulo2" aria-hidden="true" data-toggle="popover" data-placement="right" data-trigger="focus" title="alterar" type="Submit" id="btn-alterar"></button>
</form>
</td>
<td>
<form action="trata-botao.php" method="POST" >
<input type="hidden" name="id" value="<?= $produto['id']?>">
<button tabindex="0" class=" fas fa-trash-alt text-danger btn btn-link ml-auto titulo" data-toggle="popover" data-placement="right" data-trigger="focus" title="Excluir" type="Submit" id="btn-excluir"></button>
</form>
</td>
</tr>
<?php
endforeach
?>
</table>
<?php include("rodape.php"); ?>
Com a chamado direta remove-produto.php: Erro não acontece... A exclusão é realizada com sucesso
<?php //include("cabecalho.php");
include("conecta.php");
include("BD-produto-lista.php");
?>
<?php// include("BD-produto.php"); retirar o //, caso for usar só a lista separada;?>
<table class="table table-striped table-bordered">
<h2 class="fa fa-list-alt titulo" > Lista de Produtos</h2>
<tr></br>
<th class=" titulo1">Produto</th>
<th class=" titulo1">Preço</th>
<th class=" titulo1">Descrição</th>
<th class=" titulo1">Usado</th>
<th class=" titulo1">Categoria</th>
<th class=" titulo1">Alterar</th>
<th class="titulo1">Excluir</th>
</tr>
<?php
$produtos =listaProduto2($conexao);
foreach ($produtos as $produto) :
?>
<tr>
<td ><?= $produto['nome']?></td>
<td >R$ <?= $produto['preco']?></td>
<td ><?= substr($produto['descricao'], 0, 40)?></td>
<td ><?= $produto['usado']?></td>
<td ><?= $produto['categoria_nome']?></td>
<td>
<form action="alterar-formulario-produto.php" method="POST" >
<input type="hidden" name="id" value="<?= $produto['id']?>">
<button tabindex="0" class=" fa fa-edit btn btn-link ml-auto titulo2" aria-hidden="true" data-toggle="popover" data-placement="right" data-trigger="focus" title="alterar" type="Submit" id="btn-alterar"></button>
</form>
</td>
<td>
<form action="remove-produto.php" method="POST" >
<input type="hidden" name="id" value="<?= $produto['id']?>">
<button tabindex="0" class=" fas fa-trash-alt text-danger btn btn-link ml-auto titulo" data-toggle="popover" data-placement="right" data-trigger="focus" title="Excluir" type="Submit" id="btn-excluir"></button>
</form>
</td>
</tr>
<?php
endforeach
?>
</table>
<?php include("rodape.php"); ?>
Parece que o meu trata-botao.php está com alguma codificação errada. Pode me ajudar?
Obrigado.