Ir para conteúdo
Fórum Script Brasil
  • 0

(RESOLVIDO) Duvida metodo GET


tms.guiri

Pergunta

Boa tarde Pessoal,

Minha dúvida é a seguinte, estou desenvolvendo um site comparação de preços entre produtos. Então tenho as categorias e produtos. O banco de dados esta assim:

TABELA.CATEGORIAS

id_categoria

cat_nome

TABELA.PRODUTOS

id_produto

prod_nome

descricao

valor

imagem

Quando cadastro uma categoria ela é automaticamente enviada para HOME no meu lateral ficando assim:

Eletronicos

Informatica

Livros

E é nesse ponto que tenho minha duvida, porque estou querendo quando o usuario clicar numa categoria "livros" seja enviada para pagina desse produto listando todos os livros existente no banco, tipo assim:

www.meusite.com.br/produtos?categoria=livros

Como eu faço essa consulta no banco me retorno pela ID da categoria o relacionamento com o ID produto de outra tabela.

Alguém poderia me ajudar?

Agradeço desde já e aguardo resposta

Editado por tms.guiri
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

JaguA

Coloquei a seguinte query sql nos links laterais para receber os nomes das categorias:

OBS.: Desculpe por não colocar entre as tags CODEBOX, porque esta dando erro aqui e não é habilitada :(

$busca = mysql_query("SELECT * FROM categorias ORDER BY cat_nome ASC");

while ($exibindo = mysql_fetch_array($busca)){

$id_categoria = $exibindo["id_categoria"];

$cat_nome = $exibindo["cat_nome"];

echo "<li class=cor'><a href='produto.php?categoria=".$exibindo['cat_nome]."'>".$exibindo['cat_nome']."</a></li>";

}

?>

Funciona, é levado para a pagina produto > categoria > mas não sei se é a maneira correta também de se fazer

Agora é a questão é a pagina produto receber corretamente as informações passadas desse link relacionando exatamente com a categoria escolhida, exemplo: ROUPA e ser enviado para pagina produtos > exibindo todas as roupas do banco nessa pagina

Agradeço novamente

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi claramente a sua duvida, você ira para pagina produtos e quer filtrar determinado produto ?

olha tentei entender como o GET funciona do resto fica facil

ao determina ?var você crio uma variavel GET então se quiser acessala no script é so por

$_GET['var'] isso pode ser usado de diversas formas se por acaso vocÊ precsisar de mais parametros fica assim

pagina.php?var1=teste&var2=outro-teste

então agora eu tenho

$_GET['var1']

$_GET['var2']

e assim por diante se precisa selecionar algo do banco é so montar uma query normal onde recebe a informação dessas variaveis GET .

Link para o comentário
Compartilhar em outros sites

  • 0

Isso eu quero filtrar os produtos de determinada categoria. Quando o usuario clicar no link ROUPAS , ele ser redirecionado para pagina PRODUTOS, onde esta sendo linkado com a ?variavel= e receber todos os produtos relacionados a ROUPAS, exemplo:camisa, short, camiseta, etc ... tudo na pagina PRODUTOS.

O codigo que coloquei no link para receber as categorias esta correto? Pode ser daquela maneira mesmo?

Estou desenvolvendo assim na pagina PRODUTOS, onde vai receber os itens da categoria selacionada

<?php

$cat_nome = $_GET['cat_nome'];

$busca = mysql_query("SELECT * FROM categorias WHERE cat_nome=".$_GET["cat_nome]."'");

while ($exibindo = mysql_fetch_array($busca)){

extract ($exibindo);

echo "$cat_nome" ;

}

?>

Ai esta aparecendo corretamente os dados das categorias, so fiz como teste para ver se iria pegar a ?VARIAVEL=

Mas preciso estar relacionando no banco com os produtos dessa categoria, então minha duvida é montar essa query sql para pegar o id da categoria e o id do produto correspondente

Agradeço novamente se puder ajudar JaguA

Link para o comentário
Compartilhar em outros sites

  • 0

Certo agente vai fazer uma busca na tabela produtos atravez da categoria escolhida pelo cliente certo ?

então o que você vai te que fazer é montar um INNER JOIN eu acho que resolve o seu problema ou melhor o UNION onde você colcoa uma SUB QUERY

dai tipo vocÊ vai fazer o select na categoria pelo nome e da UNION nos dados que você quer da tabela produtos colocando que o ID_categoria da tabela produtos deve ser igual ao ID produtos da tabela categoria onde a categoria é = a que você escolheu.

caso fico muito confuso o meio mais pratici é

monte uma query selecionando o ID da categoria e depois monte outra selecionando o produtos ocm aquele ID selecionado.

Link para o comentário
Compartilhar em outros sites

  • 0

Coloque assim:

<?php

$busca = mysql_query("SELECT c.id_categoria, p.nome, p.loja FROM categorias as c, produtos as p WHERE c.id_categoria=p.id_categoria");

while ($exibindo = mysql_fetch_array($busca)){

extract ($exibindo);

echo "$nome<br>";

echo "$loja<br>";

}

?>

Aparece todos os produtos, mas ainda não consegui fazer uma forma de pegar selecionando a categoria. Tentei pelo GET, mas não sei ainda como montar ele na consulta, aff! :(

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido JaguA

Fiz assim e deu certo:

MENU LATERAL

$tbusca = mysql_query("SELECT * FROM categorias ORDER BY cat_nome ASC");

while ($texibindo = mysql_fetch_array($tbusca)){

$id_categoria = $texibindo["id_categoria"];

$cat_nome = $texibindo["cat_nome"];

echo "<li class=odd'>";

?>

<a href="produto.php?id_categoria=<?=$id_categoria?>"><?=$cat_nome?></a>

<?

echo"</li>";

}

?>

PAGINA PRODUTOS

<?php

$id_categoria = (int)$_GET['id_categoria];

$busca = mysql_query("SELECT id_categoria, nome, loja, vista, parcelado FROM produtos WHERE id_categoria='".$_GET["id_categoria"]."'");

while ($exibindo = mysql_fetch_array($busca)){

extract ($exibindo);

echo "$nome<br>";

echo "$loja<br>";

echo "A vista R$$vista<br>";

echo "3x R$$parcelado sem juros<br>";

}

?>

Obrigado pelas dicas, foram muito uteis! :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...