Jump to content
MasterX2020

Categorias no PHP e SQL

Recommended Posts

Olá a todos,

 

Para uma aula foi me pedido a construção de um pequeno site. Preciso de ter uma barra lateral onde estão 3 categorias: Frutas, Legumes e Verduras.

 

A barra lateral está construída e a pagina que abre ao clicar numa das categorias também. Agora precisava do código com os elementos PHP e SQL que permita que ao clicar numa das categorias os elementos apresentados nessa mesma página sejam os que estão relacionados à categoria clicada e que se encontra numa base de dados que também já construí. Ou seja, a página tem que ser sempre a mesma, mas os resultados que esta apresenta têm que depender se foi clicado Frutas, Legumes ou Verduras.

 

Espero ter explicado bem o meu problema e que alguém me possa ajudar. Como já devem perceber são um leigo na matéria e ainda estou a aprender, por isso, desde já agradeço muito toda a ajuda que me possam dar.

Share this post


Link to post
Share on other sites

faça as requsições via Get, para que mude apenas na URL, e use um sistema de ndexação para que suas paginas sejam chamadas dentro da index.

 

<?php
		
$link = $_GET["link"];

$pag["categoria"]		= "categoria.php";


if(!empty($link))
{
	if (file_exists($pag[$link]))
	{
		include $pag[$link];
	}
	else
	{
		print "A Pagina não foi encontrada";
	}
}
?>

poe esse código onde você quer fazer a exibição

 

dai você chama as paginas assim

index.php?link=categoria&cat=frutas

com isso ele vai chamar a pagina categoria dentro da index, você usar uma pagina só e fazer o tratamento dos dados via GET.

//Pagina categoria.php

$cat = $_GET['cat']; //realizar tratamento se for string ou receber id

if($cat == "fruta"){
	//aqui codigo para mostrar os produtos da categoria frutas
}
elseif($cat == "nome da sua categoria"){
	//aqui codigo para mostrar os produtos da categoria listada
}
else{
 echo "Erro ao buscar categoria";
}

//ai vocÊ reperte o elseif a cada categoria.

ai a igualdade em cat= você poe a categoria.

 

PS. isso explicação simples e de exemplo há varias formas de fazer de forma mais robusta.

Share this post


Link to post
Share on other sites
Em 16/03/2020 at 02:39, icarof disse:

faça as requsições via Get, para que mude apenas na URL, e use um sistema de ndexação para que suas paginas sejam chamadas dentro da index.

 


<?php
		
$link = $_GET["link"];

$pag["categoria"]		= "categoria.php";


if(!empty($link))
{
	if (file_exists($pag[$link]))
	{
		include $pag[$link];
	}
	else
	{
		print "A Pagina não foi encontrada";
	}
}
?>

poe esse código onde você quer fazer a exibição

 

dai você chama as paginas assim


index.php?link=categoria&cat=frutas

com isso ele vai chamar a pagina categoria dentro da index, você usar uma pagina só e fazer o tratamento dos dados via GET.


//Pagina categoria.php

$cat = $_GET['cat']; //realizar tratamento se for string ou receber id

if($cat == "fruta"){
	//aqui codigo para mostrar os produtos da categoria frutas
}
elseif($cat == "nome da sua categoria"){
	//aqui codigo para mostrar os produtos da categoria listada
}
else{
 echo "Erro ao buscar categoria";
}

//ai vocÊ reperte o elseif a cada categoria.

ai a igualdade em cat= você poe a categoria.

 

PS. isso explicação simples e de exemplo há varias formas de fazer de forma mais robusta.

 

Muito obrigado, sua ajuda foi muito útil, consigo colocar tudo funcionando da melhor forma. Muito obrigado.

Share this post


Link to post
Share on other sites

mas se tem tudo cadastrado certim no banco incluindo as cats e se cada produto tem o id da cat a que ele corresponde tu pode pesquisar direto no banco trazendo os produtos da cat passada sem precisar incluir os nomes tudo nos ifs. pardon se esse não é o que precisa.

Share this post


Link to post
Share on other sites

no caso marsolim, ele nao vai escrever manualmente o noem das categorias eles vem didamicamente do banco

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Camilavip
      Oi, como consigo fazer uma página de erro ou redirecionamento ou aviso, caso alguém clique em um cadastro que já não existe ou não tenha?
      localhost/clientes/12/ricardo No exemplo acima eu clico no cliente com esse id 12 e abre os dados dele, mas se eu o excluir mas estiver com o link e colocar no navegador, ele abre a página, sem os dados dele, mas abre. Eu queria se caso não tivesse mais o id cadastrado, abrisse algo como nenhum cadastro encontrado ou existente.
    • By mamotinho
      Olá, gostaria de sabe como posso fazer uma contagem regressiva apartir de um registro em meu banco de dados eu tentei montar um código da seguinte forma:

       
      <? $DateGET = date('m/d/Y H:i A', strtotime($result->DateDiscount)); ?> <script> var valueDate = <?=$DateGET?>; var end = new Date(valueDate); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById("countdown").innerHTML = "EXPIRED!"; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById("countdown").innerHTML = "<span class='n_date day' id='days'>" + days + "</span><span class='date'>일</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time hour' id='hrs'>" + hours + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time minute' id='minus'>" + minutes + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time second' id='secs'>" + seconds + "</span>"; } timer = setInterval(showRemaining, 1000); </script> Mais infelizmente não passou a data registrada no banco de dados, alguém teria ideia de como posso ta fazendo.
    • By emmanuelsiqueira30
      Pessoal preciso de uma ajudinha aqui se alguém puder me ajudar fico muito agradecido.
      O problema é o seguinte gostaria de editar dados de um formulário com checkbox usando html e php.
      Desde já agradeço por toda ajuda.
    • By liniker.o
      Boa tarde pessoal!
      Estou com um problema em meu código quando coloco uma referencia de fonte a mesma não carrega, quando faça o mesmo procedimento local colocando os caminhos de pasta funciona normalmente.
      Será que alguém poderia me ajudar?
      Segue o código.
      <html> <head> <title>Minha pagina</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <!-- Se não declarar charset por meta, envie um header de igual valor --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <?php //Carregar imagem tamanho da imagen = 515x76 $img = ImageCreateFromJPEG("base.jpg"); //Definir cor $cor1 = imagecolorallocate($img, 0, 0, 0); $cor2 = imagecolorallocate($img, 0, 0, 0); // carregar fonte... $fonte1 = 'https://ff.static.1001fonts.net/r/o/roboto-condensed.light.ttf'; $fonte2 = 'https://ff.static.1001fonts.net/r/o/roboto-condensed.light.ttf'; //Escrever nome $txtNome = $_POST['nome']; $txtFuncao = $_POST['func']; $txtEmail = $_POST['email']; $txtDDD = "+55 ".$_POST['telefone']; // IMAGEM, TAMANHO_FONTE, 0, POSICAO X, posicao Y, TEXTO_COR, ARQ_FONTE, TEXTO imagettftext($img, 32, 0, 250, 100, $cor1, $fonte1, $txtNome); imagettftext($img, 18, 0, 250, 125, $cor1, $fonte2, $txtFuncao); imagettftext($img, 18, 0, 250, 150, $cor1, $fonte2, $txtEmail); imagettftext($img, 18, 0, 250, 180, $cor1, $fonte2, $txtDDD); //Header e output header('Content-type: image/jpeg'); imagejpeg($img,"Assinatura - ".$txtNome.".jpg"); imagedestroy($img); header('Location: Assinatura - '.$txtNome.'.jpg'); ?>  
    • By gersonab
      Boa tarde a todos, tenho um sistema de upload de arquivos que funciona perfeitamente, agora eu gostaria que estes arquivos fossem armazenados em nuvem, não no servidor, poderiam indicar um tutorial ou como proceder.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.