Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não consigo excluir produto

Boa noite pessoal,

Meu código não está funcionando. Já refatorei o código várias vezes e não consigo encontrar o erro:

Página que lista os produtos:

<?php include ("cabecalho.php");
include ("conecta.php");
include ("banco-produto.php");?>
<table class="table table-striped table-bordered">
<?php
$produtos = listaProdutos($conexao);
foreach ($produtos as $produto):
?>
    <tr>
        <td><?=$produto['nome']?></td>
        <td><?=$produto['preco']?></td>
        <td><a href="remove-produto.php?id=<?=$produto['id']?>" class="text-danger">Remover</a></td>
    </tr>
<?php
endforeach
?>
</table>

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

Minhas funções (com a função removeProduto):

<?php

function listaProdutos($conexao) {
    $produtos  = array();
    $resultado = mysqli_query($conexao, "select * from produtos");

    while ($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }

    return $produtos;
}

function insereProduto($conexao, $nome, $preco) {
    $query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
    return mysqli_query($conexao, $query);
}

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

Página que remove o produto:

<?php
include ("cabecalho.php");
include ("conecta.php");
include ("banco-produto.php");

$id = $_GET["id"];
removeProduto($conexao, $id);
?>
<p class="text-success">Produto removido com sucesso!</p>
<?php
include ("rodape.php");
?>

Alguém ajuda?

Valeu

2 respostas

Oi Júlio, tudo bom?

Acontece algum erro quando você tenta excluir? Se sim, compartilha ele aqui com a gente =)

Tenta debugar o que está acontecendo na query:

function removeProduto($conexao, $id) {
    $query = "delete from produtos where id = {$id}";
    $result = msqli_query($conexao, $query);
    var_dump($query);
    var_dump($result);
    return $result;
}

Compartilha com a gente o resultado.

Abraço!

solução!

Bom dia

Como no início de cada capítulo nós temos os arquivos para baixar, eu segui com os exercícios e comparei. Descobri meu erro. Foi digitação mesmo:

<?php

function listaProdutos($conexao) {
    $produtos  = array();
    $resultado = mysqli_query($conexao, "select * from produtos");

    while ($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }

    return $produtos;
}

function insereProduto($conexao, $nome, $preco) {
    $query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
    return mysqli_query($conexao, $query);
}

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

Repare que na função removeProduto, no return, o "mysqli"saiu errado.

Sorry, my bad! Mesmo assim obrigado André