Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, tenho uma tabela chamada products, com uma coluna chamada categorias. Dentro da coluna 'categorias' tenho produtos com categorias distintas como 'bebidas', 'doces', 'salgados', etc. Quero que o php retorne apenas os produtos com o categoria 'bebidas' isso é possível, ou devo criar uma tabela para cada categoria? No momento estou usando o código abaixo, mas ele me retorna todos os produtos, e eu só quero aqueles de determinada categoria.
<?php
$sql="SELECT * FROM product";
$result=$conn->query($sql);
while($row=$result->fetch_assoc()){
?>
<div class="col-sm-6 col-md-4 col-lg-3 mb-2">
<div class="card-deck">
<div class="card p-2 border-secondary mb-2">
<img src="<?= $row['product_image']; ?>" class="card-img-top">
<p class="text-center">
<?= $row['product_name']; ?><br>
</p>
<h4 class="card-title text-center">Por : R$<?= $row['product_price'] ?></h4>
<form accept-charset="utf-8" action="" class="form-submit">
<input type="hidden" class="pid" value="<?= $row['id'] ?>">
<input type="hidden" class="pname" value="<?= $row['product_name'] ?>">
<input type="hidden" class="pprice" value="<?= $row['product_price'] ?>">
<a href=""><input type="hidden" class="pimage" value="<?= $row['product_image'] ?>"></a>
<input type="hidden" class="pcode" value="<?= $row['product_code'] ?>">
<button class="btn btn-success btn-block addItemBtn"><i class="fa fa-shopping-cart"></i> Adicionar ao Carrinho</button>
</form>
</div>
</div>
</div>
<?php } ?>Você deve criar duas tabelas, uma para categoria e outra para o produto.
Na sua tabela de produto você deve ter um campo que seria uma chave estrangeira apontando para categoria, dai você recupera o ID da categoria e faz a busca parecido como nosso amigo aqui em cima mostrou.
Exemplo das tabelas:
CATEGORIA
-
id
-
nome_categoria
PRODUTO
-
id
-
id_categoria
-
nome_produto
>
Agora, wolfphw disse:
Você deve criar duas tabelas, uma para categoria e outra para o produto.
Na sua tabela de produto você deve ter um campo que seria uma chave estrangeira apontando para categoria, dai você recupera o ID da categoria e faz a busca parecido como nosso amigo aqui em cima mostrou.
Exemplo das tabelas:
CATEGORIA
-
id
-
nome_categoria
PRODUTO
-
id
-
id_categoria
-
nome_produto
Pode citar um exemplo por favor, nunca fiz isso
Digamos que você tenho essa estrutura que passei...
index.php
<?php
$sql = "SELECT * FROM categorias";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo "<a href='produtos.php?id=_categoria=".$row["id"]."'>".$row["nome_categoria"]."</a>";
}
?>
**produtos.php**
<?php
$id_categoria = $_GET["id_categoria"];
$sql = "SELECT * FROM produtos WHERE id_categoria='$id_categoria'";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo $row["nome_produto"]."<br>";
}
?>>
Agora, wolfphw disse:
Digamos que você tenho essa estrutura que passei...
index.php
<?php
$sql = "SELECT * FROM categorias";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo "<a href='produtos.php?id=_categoria=".$row["id"]."'>".$row["nome_categoria"]."</a>";
}
?>
**produtos.php**
<?php
$id_categoria = $_GET["id_categoria"];
$sql = "SELECT * FROM produtos WHERE id_categoria='$id_categoria'";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo $row["nome_produto"]."<br>";
}
?>
Ok, mais se eu tenho uma página verproduto.php, só quero apenas mudar as informações nela de acordo com o produto que o cliente clicou, é possível?>
4 horas atrás, granderodeo disse:
Ok, mais se eu tenho uma página verproduto.php, só quero apenas mudar as informações nela de acordo com o produto que o cliente clicou, é possível?
Você poderia pegar o ID do produto via get e tratar para mostrar os dados daquele determinado produto.
Exemplo: se a sua url fosse: www.site.com.br/verproduto.php?id=6
verproduto.php
<?php
$idproduto = $_GET["id"];
$sql = "SELECT * FROM produtos WHERE id='$idproduto'";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo $row["nome_produto"]."<br>";
}
?>>
Agora, Gleyson Abreu disse:
Você poderia pegar o ID do produto via get e tratar para mostrar os dados daquele determinado produto.
Exemplo: se a sua url fosse: www.site.com.br/verproduto.php?id=6
verproduto.php
<?php
$idproduto = $_GET["id"];
$sql = "SELECT * FROM produtos WHERE id='$idproduto'";
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
echo $row["nome_produto"]."<br>";
}
?>
na página index.php no href fiz da seguinte forma
<a href="verproduto.php?id=<?php echo $post['id'];?>"><img src="<?= $row['product_image']; ?>" class="card-img-top"></a>
mas não redireciona para a página verproduto.phpGranderodeo me diga qual é o nível de conhecimento que você tem com PHP?
Que pelo o que vi decorrente a minha postagem e do outro você ficou com dúvidas bem simples, então me parece que seria um conhecimento baixo inicial, eu recomendo você dar uma olhada em algumas vídeos aulas por ai que irão lhe ajudar muito, que você deve entender o que estamos lhe passando e me parece que você está meio perdido.
Procure aulas que ensinem o PHP, vou passar uns para você aqui.. dai é só você acompanhar as aulas
-
-
Você poderia usar