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

DELETAR E ALTERAR

Não estou conseguindo deletar o produto e tambem nao ta dando certo a função alterar da um erro no arq. banco Linha 29 da uma olhada:

REMOVEPRODUTO.PHP:

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

$id = $_GET['id'];
removeProduto($conexao, $id);
header("Location: index.php");
die();
?>

ALTERA-PRODUTO.PHP:

<?php
include("cabecalho.php");
include("conecta.php");
include("banco-produto.php"); ?>
<?php
$id = $_GET["id"];
$nome = $_GET["nome"];
$quantidade = $_GET["quantidade"];
$valor = $_GET["valor"];
$modelo = $_GET["modelo"];

if(alteraProduto($conexao, $id, $nome, $quantidade, $valor, $modelo )) { ?>
<p class="text-success">Produto <?= $nome; ?>, <?= $valor; ?> Alterado!</p>
<?php } else {

?>
<p class="text-danger">O produto <?= $nome; ?> não foi alterado: <?= $msg ?></p>
<?php
}
?>

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

BANCO-PRODUTO.PHP:

<?php
require_once("conecta.php");
require_once("class/produto.php");

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

while($produto_array = mysqli_fetch_assoc($resultado)) {

$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->quantidade = $produto_array['quantidade'];
$produto->valor = $produto_array['valor'];
$produto->modelo = $produto_array['modelo'];

array_push($produtos, $produto);
}
return $produtos;
}

function insereProduto($conexao, Produto $produto) {
$query = "insert into produtos (nome, quantidade,valor,modelo) values ('{$produto->nome}', {$produto->quantidade},{$produto->valor},{$produto->modelo})";
 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 removeProduto($conexao, $id) {
$query = "delete from produtos where id = {$id}";
return mysqli_query($conexao, $query);
}
function alteraProduto($conexao,$id, $nome, $quantidade, $valor, $modelo){
    $query = "update produtos set nome = '{$nome}', quantidade = {$quantidade},
              valor={$valor}, modelo={$modelo} where id = '{$id}'";
    return mysqli_query($conexao, $query);

}

PRODUTO-ALTERA-FORM.PHP:

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

<style>
    body {
    background-color: #F8FBEF;
    }
</style>

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

$id = $_GET['id'];
$produto = buscaProduto($conexao, $id);
?>

<title>Alterar Produto</title>
<div class="jumbotron jumbotron-fluid">
<div class="container">
<h1 class="display-4">Alteração de Aparelhos</h1>
</div>
</div>

<div class="row">
<div style="margin: 0 auto; width: 600px">
<form action="altera-produto.php">
<div class="pull-right">
</div>
<div class="pull-left">  
<a href="./index.php" class="btn btn-danger">Voltar</a>
</div>
<div class="form-group">
<input type="hidden" name="id" value="<?=$produto['id']?>">
<input class="form-control" name="nome" value="<?=$produto['nome']?>" type="text" placeholder="Nome Aparelho *">
</div>
<div class="form-group">
<input class="form-control" name="quantidade" value="<?=$produto['quantidade']?>" type="number" placeholder="Digite a Quantidade *">
</div> 
<div class="form-group">
<input class="form-control" name="valor" type="number" value="<?=$produto['valor']?>" placeholder="Digite o Valor *">
</div> 
<div class="form-group">
<input class="form-control" name="modelo" value="<?=$produto['modelo']?>" type="text" placeholder="Digite o Modelo *">
<td><button class="btn btn-primary" type="submit">Alterar</button></td>
</div> 
</form>
</div>
</div>
</section>
</div> 
</div> 
</body>
</html>
3 respostas

Oi Vitor, tudo bom?

Não estou conseguindo deletar o produto e tambem nao ta dando certo a função alterar da um erro no arq. banco Linha 29 da uma olhada:

Compartilha com a gente o erro?

Da uma verificada na query que a gente ta executando nos dois casos e no resultado de cada uma. Algo como:

function removeProduto($conexao, $id) {
$query = "delete from produtos where id = {$id}";
$resultado = mysqli_query($conexao, $query);
var_dump($query);
var_dump($resultado);
return $resultado;
}
function alteraProduto($conexao,$id, $nome, $quantidade, $valor, $modelo){
    $query = "update produtos set nome = '{$nome}', quantidade = {$quantidade},
              valor={$valor}, modelo={$modelo} where id = '{$id}'";
$resultao = mysqli_query($conexao, $query);
var_dump($query);
var_dump($resultado);
    return $resultado;
}

Compartilha com a gente aqui no resultado =)

Abraço

Boa tarde, amigo. o problema estava em outra coisa esta aqui :

solução!

Boa tarde, amigo. o problema estava em outra coisa esta aqui :

while($produto_array = mysqli_fetch_assoc($resultado)) {

$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->quantidade = $produto_array['quantidade'];
$produto->valor = $produto_array['valor'];
$produto->modelo = $produto_array['modelo'];

eu apenas coloquei especifiquei o ID $produto->id= $produto_array['id'];

$produto->id= $produto_array['id'];
$produto = new Produto();
$produto->nome = $produto_array['nome'];
$produto->quantidade = $produto_array['quantidade'];
$produto->valor = $produto_array['valor'];
$produto->modelo = $produto_array['modelo'];

e já deu certo tanto na hora de remover e na hora de alterar ele não estava encontrando o ID eu dei um print_r($produtos) e mostrou que o ID estava sem valor Mas obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software