o codigo completo do formulario que altera os produtos:
<?php
include 'conecta.php';
include 'banco-produto.php';
include 'banco-categorias.php';
include 'cabecalho.php';
$id = $_GET['id'];
$produto=buscaProduto($conexao,$id);
$categorias=listaCategorias($conexao);
?>
<h1>Modificar Produtos</h1>
<form action="produto-lista.php" method="post">
<table class="table">
<tr>
<td>Nome:</td>
<td><input class="form-control" type="text" name="nome" value="<?= $produto['nome']; ?>" ></td>
</tr>
<tr>
<td>Valor:</td>
<td><input class="form-control" type="number" name="preco" value="<?= $produto['preco']; ?>" ></td>
</tr>
<tr>
<td>Descripção:</td>
<td><textarea class="form-control" name="descricao" value="<?= $produto['descricao']; ?>" ></textarea ></td>
</tr>
<tr>
<td><input type="checkbox" name="usado" value="<?= $produto['usado']; ?>" > Usado</td>
</tr>
<tr>
<td>
Categoria:
</td>
<td>
<select class="form-control" name="categoria_id">
<?php foreach ($categorias as $categoria) :?>
<option value=<?=$categoria['id'];?>>
<?=$categoria['nome']; ?>
</option>
<?php endforeach ?>
</select>
</td>
</tr>
<tr>
<td><button class="btn btn-primary " type="submit">Modificar</button></td>
</tr>
</table>
</form>
<?php include 'rodape.php'; ?>
o codigo do banco-produtos, a função buscaProdutos
function buscaProduto($conexao,$id)
{
$query="select * from produtos where id={$id}";
$resultado= mysqli_query($conexao,$query);
return mysqli_fetch_assoc($resultado);
}
e a função listaProdutos, no arquivo de banco-categorias.php
<?php
function listaCategorias($conexao)
{
$categorias= array();
$query = "select * from categorias";
$resultado =mysqli_query($conexao,$query);
while ($categoria=mysqli_fetch_assoc($resultado))
{
array_push($categorias,$categoria);
}
return $categorias;
}
?>
a URL completa do navegador e a seguinte:
http://localhost/Cursos_alura/PHP-e-MYSQL_I/loja/altera-formulario.php?76
tirei a parte do isset() no formulario, aparece ao recarregar a página dois erros:
Notice: Undefined index: id in D:\xampp\htdocs\Cursos_Alura\PHP-e-MYSQL_I\loja\altera-formulario.php on line 7
que da a entender que não esta pegando o valor do 'id' da URL.
o outro erro é :
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in D:\xampp\htdocs\Cursos_Alura\PHP-e-MYSQL_I\loja\banco-produto.php on line 30