Ir ao conteúdo
  • Cadastre-se

PHP Como exibir em cada página só os produtos respectivos de cada categoria?


Posts recomendados



<?php foreach($products as $product) :?> 	
					
					   <div>
			            <div class="col-sm-6 col-md-4">
							<div class="thumbnail">							    
							    <div class="caption text-center">							      
										
					   			    <img src="imagens/<?php echo $product['imagens']; ?>" alt="<?php echo $product['nome']; ?>">								   				   
								    <h3><?php echo $product['nome']?></h3>
							        <h4>
							  	    R$ <?php echo number_format($product['preco'], 2, ',', '.')?>
							        </h4>
									
							<p><a href="carrinho.php?acao=add&id=<?php echo $product['id']?>" class="btn btn-primary" role="button">Comprar</a> </p>
															
				        </div>
						</div>						
					</div>				
			        </div>
					 
			        <?php endforeach;?>

 

Captura de Tela (1).png

Captura de Tela (3).png

adicionado 0 minutos depois

Galera Por Favor estou tendo problemas com este código ..essa imagem que mandei abaixo eh do meu sistema e do banco de dados..Meu sistema tem esses 6 botões que linkam em 6 páginas(pizza.php, lanche.php...)e não estou conseguindo exibir em cada página só os produtos respectivos de cada categoria.. Acho que falta uma estrutura de Condiçao nesse código abaixo ..mais não sei como fazer ..se alguem puder me ajudar agradesço.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Joao emilioborges Olá,  basicamente eu não vejo ali no seu código PHP fazendo a consulta ao seu banco de dados.

 

Você simplesmente pode fazer uma consulta em cada "página" baseado na categoria.

Algo como:

 

SELECT * FROM comanda_eletronica.produto WHERE categoria = 'Pizza'

Isso retornaria somente os produtos da categoria "Pizza".

 

Contudo, o ideal é que você normalize seu banco de dados, separando o tipo de produto em uma tabela e fazendo uma relação de 1:N entre a tabela produto e tipo_produto.

 

Com isso você faria uma consulta baseada em ID da chave estrangeira que está ligada a chave primária de outra tabela.

 

Além disso, você pode apenas criar um arquivo chamado  produtos.php

E dentro você faz a consulta baseada no ID do tipo de produto passando o valor por GET.

 

Exemplo:

 

O link:

<a href="produtos.php?id=1">Pizza</a>

Claro, isso se você fizer a divisão como mencionei. Se não dividir, podes fazer baseado na categoria que está na sua tabela por exemplo:

 

<a href="produtos.php?categoria=pizza">Pizza</a>

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

11 horas atrás, DiF disse:

@Joao emilioborges Olá,  basicamente eu não vejo ali no seu código PHP fazendo a consulta ao seu banco de dados.

 

Você simplesmente pode fazer uma consulta em cada "página" baseado na categoria.

Algo como:

 


SELECT * FROM comanda_eletronica.produto WHERE categoria = 'Pizza'

Isso retornaria somente os produtos da categoria "Pizza".

 

Contudo, o ideal é que você normalize seu banco de dados, separando o tipo de produto em uma tabela e fazendo uma relação de 1:N entre a tabela produto e tipo_produto.

 

Com isso você faria uma consulta baseada em ID da chave estrangeira que está ligada a chave primária de outra tabela.

 

Além disso, você pode apenas criar um arquivo chamado  produtos.php

E dentro você faz a consulta baseada no ID do tipo de produto passando o valor por GET.

 

Exemplo:

 

O link:


<a href="produtos.php?id=1">Pizza</a>

Claro, isso se você fizer a divisão como mencionei. Se não dividir, podes fazer baseado na categoria que está na sua tabela por exemplo:

 


<a href="produtos.php?categoria=pizza">Pizza</a>

 

 

Cara esta meio complexo ..pra você entender vou te manda logo abaixo o arquivo .rar do meu sistema ja junto com o banco e ve

 

ComandaNova.rar

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Joao emilioborges Impossível.  Não há como eu pegar o arquivo para ver.

Não é complexo. Você precisa entender só.

 

Basicamente o que disse é para você fazer a consulta ao seu banco de dados baseado na categoria.

Você está fazendo um laço de foreach ali, mas não mostra a sua consulta ao banco de dados.

 

Isso na verdade é o básico do php e banco de dados.  Basta fazer a consulta usando a clausula WHERE. simples. 

Releia tudo que eu postei cuidadosamente .

Mas como eu disse, se você quiser melhorar a sua consulta, precisa aplicar as normas formais no banco de dados. Onde você separa algumas informações em outra tabela.

 

No caso eu recomendo que crie uma tabela nova chamada categoria. Nesta tabela você vai ter apenas dois registros:  ID auto increment e nome_categoria.

 

Na tabela produtos, você adiciona um campo do tipo INT para receber o valor da chave primária. Este campo se chama chave estrangeira.  Adicione um índice(index), nesta tabela para que possas indicar que o campo chave estrangeira possa aceitar o relacionamento de 1:N onde um registro pode ter vários ou vice e versa.

 

Parece difícil mas não é. 

Recomendo ver estes dois videos:

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...