Jump to content
Fórum Script Brasil
  • 0

(RESOLVIDO) Duvida metodo GET


tms.guiri

Question

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

Edited by tms.guiri
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

  • 0

Por nada, bem agora acho que você conseguio entender o uso do GET... pode parecer dificil, meio chato, mas depois que entende vair ver que é muito facil e pratico até. rsrs

qualquer coisa estamos a disposição.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...