I'm trying to create a product view by category. I can not find the error. Notice: Undefined variable: id in C: \ Bitnami \ wampstack-5.6.19-0 \ apache2 \ htdocs \ marriage \ choice-products.php on line 131
Warning: mysqli_fetch_assoc () expects parameter 1 to be mysqli_result, boolean given in C: \ Bitnami \ wampstack-5.6.19-0 \ apache2 \ htdocs \ marriage \ bank-product.php on line 17
Please, I need help.
I'm able to choose the category and make the category_id available to the same page as this:
<?php $categorias = listaCategorias($conexao); ?>
<script type="text/javascript" src="assets/js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// Evento quando o valor da combo é alterado
$('#select-relatorio').change(function () {
// Redirecionamento por Javascript quando uma das opções com valor for
selecionado
if ($(this).val()!="") {
window.location = "escolha-produtos.php?id="+$(this).val();
}
});
});
</script>
I'm trying to get this category_id and send it to the product database in order to do the query in the BD. This is the categoryProducts list function that I'm trying to use:
function listaProdutosporCategoria($conexao,$id){
$produtos = array();
$resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome,
m.nome as marca_nome
from produtos p
inner join categorias c on(p.categoria_id = c.id)
inner join marcas m on(p.marca_id = m.id)
where c.id = {$id}");
while($array = mysqli_fetch_assoc($resultado)) {
$produto = new Produto();
$produto->setId($array['id']);
$produto->setNome($array['nome']);
$produto->setPreco($array['preco']);
$produto->setReferencia($array['referencia']);
$produto->setDescricao($array['descricao']);
$produto->setMarca(new Marca());
$produto->getMarca()->setId($array['marca_id']);
$produto->getmarca()->setNome($array['marca_nome']);
$produto->setCategoria(new Categoria());
$produto->getCategoria()->setId($array['categoria_id']);
$produto->getCategoria()->setNome($array['categoria_nome']);
$produto->carregaCaminhoFoto($array['foto']);
array_push($produtos, $produto);
}
return $produtos;
}
no return I try to pull all products by the chosen category
<?php
$produtos = listaProdutosporCategoria($conexao, $id);
?>
<table class="table table-striped table-bordered">
<?php foreach($produtos as $produto) : ?>
<div class="section ">
<div class="container container-border">
<div class="title">
<h4>Escolha os Produtos que Deseja Ganhar</h4>
</div>
<div class="row">
<div class="col-md-4">
<div class="card card-product card-plain">
<div class="image">
<a href="#">
<img src="fotos/<?=$produto->getFoto() ?>" alt="Sem Imagem"/>
</a>
</div>
<div class="content">
<a href="#">
<h4 class="title"><?=$produto->getNome() ?></h4>
</a>
<p class="description">
<?= substr($produto->getDescricao(), 0, 40) ?>
</p>
<div class="footer">
<span class="price">R$ <?=$produto->getPreco() ?
></span>
<button class="btn btn-danger btn-simple btn-
hover pull-right" rel="tooltip" title="" data-placement="left" data-
original-title="Adicionar a lista">
<i class="fa fa-heart-o"></i>
</button>
</div>
</div>
</div> <!-- end card -->
</div>
</div>
</div>
</div>
<?php endforeach ?>
</table>