Ir para o conteúdo
Enziguri

[Resolvido] Repetir botoes consoante as linhas da DB

Mensagens Recomendadas

Enziguri

Tenho este pedaço de código a funcionar correctamente, repete os botões consoante o numero de linhas desta tabela.

<form method="post" action="/loja/">
<input type="submit" name="0" value="Todos" style="margin-top:0px;" class="button-loja" />
<?php  
$query_botoes = "SELECT * FROM loja_categorias ORDER BY nome_categoria ASC";
$resultado_botoes = mysql_query($query_botoes);
while($coluna_botoes = mysql_fetch_array($resultado_botoes)) {
$id_categoria = $coluna_botoes['id_categoria'];
$nome_categoria = $coluna_botoes['nome_categoria'];
?>
<input type="submit" name="<?php print $id_categoria ?>" value="<?php print $nome_categoria ?>" style="margin-top:0px;" class="button-loja" />
<?php } ?>
</form>

O que quero fazer é o mesmo mas para criar o respectivo "script" para estes botoes... para isso estou a tentar com este pedaço de codigo.

$query = "SELECT * FROM loja_produtos ORDER BY nome_produto ASC";

if(isset($_POST['0'])){
 $query = "SELECT * FROM loja_produtos ORDER BY nome_produto ASC";
}/*
elseif(isset($_POST['1'])){
  $query = "SELECT * FROM loja_produtos WHERE categoria_produto='1' ORDER BY nome_produto ASC";
 }
elseif(isset($_POST['2'])){
  $query = "SELECT * FROM loja_produtos WHERE categoria_produto='2' ORDER BY nome_produto ASC";
 }*/

   // ERRO AQUI

$query_botoes_script = "SELECT * FROM loja_categorias ORDER BY nome_categoria ASC";
$resultado_botoes_script = mysql_query($query_botoes_script);
while($coluna_botoes_script = mysql_fetch_array($resultado_botoes_script)) {
 $id_categoria_script = $coluna_botoes_script['id_categoria'];

  // O QUE QUERO REPETIR

 elseif(isset($_POST['$id_categoria_script'])){
  $query = "SELECT * FROM loja_produtos WHERE categoria_produto='$id_categoria_script' ORDER BY nome_produto ASC";
 }
}

O pretendido é que apareça algo como o que está em comentario acima... não está a deixar carregar a pagina, e o erro está no que eu quero repetir... alguém sabe o que está a acontecer?

Obrigado

Editado por Enziguri

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Enziguri

pois, simplesmente nao carrega a pagina... é o que costuma acontecer quando me esquesso de uma } ou um ;... já agora como posso ver os erros facilmente no browser?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
while($coluna_botoes_script = mysql_fetch_array($resultado_botoes_script)) {
 $id_categoria_script = $coluna_botoes_script['id_categoria'];

         // O QUE QUERO REPETIR

 // ONDE ESTÁ O IF DESTE ELSE ??
 elseif(isset($_POST['$id_categoria_script'])){
  $query = "SELECT * FROM loja_produtos WHERE categoria_produto='$id_categoria_script' ORDER BY nome_produto ASC";
 }
}


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Enziguri

antes do pedaço de codigo comentado la em cima.... mesmo no inicio do 2º script que enviei

Editado por Enziguri

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Enziguri

pois, mas entao como consigo fazer isso? é que a $var1 não está na BD... é a que irá mostrar os produtos TODOS da base de dados... e as outras serão as várias categorias....

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Enziguri

bem encontrei a solução...

 if(isset($_POST[$id_categoria_script])){
  $query = "SELECT * FROM loja_produtos WHERE categoria_produto='$id_categoria_script' ORDER BY nome_produto ASC";
 }

Troquei o elseif por if e removi as ' ' deste $_POST[$id_categoria_script]...

Obrigado pela ajuda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.