Menu e sub-menu PHP

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Menu e sub-menu PHP

Mensagempor kugasthelast » Quarta Out 24, 2007 11:16

boas tou com um pekeno prob tenho um menu e um sub-menu em que se vai tornar em Familias e sub-familias e isto vai-me servir para filtrar a tabela de produtos, o problema agora está em nao conseguir ler os dois menus (as familias e as sub-familias) lê a familia e kd escolho a sub-familia automaticamente substitui pela sub-familia...

o codigo é este:

Código: Seleccionar todos
<select name="familia" class="style5" id="familia" onChange="MM_jumpMenu('parent',this,0)">
        <option value="">Escolha Familia</option>
        <option value="escolhencomenda.php?familia=familia1" <?=$_GET['familia']==1?' selected':''?>>Familia 1</option>
        <option value="escolhencomenda.php?familia=familia2" <?=$_GET['familia']==2?' selected':''?>>Familia 2</option>
        <option value="escolhencomenda.php?familia=familia3" <?=$_GET['familia']==3?' selected':''?>>Familia 3</option>
        <option value="escolhencomenda.php?familia=familia4" <?=$_GET['familia']==4?' selected':''?>>Familia 4</option>
        </select>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <select name="subf" class="style5" id="subf" onChange="MM_jumpMenu('parent',this,0)">
        <option value="">Escolha Sub-Familia</option>
        <option value="escolhencomenda.php?subf=subf1" <?=$_GET['subf']==1?' selected':''?>>Sub-Familia 1</option>
        <option value="escolhencomenda.php?subf=subf2" <?=$_GET['subf']==2?' selected':''?>>Sub-Familia 2</option>
        <option value="escolhencomenda.php?subf=subf3" <?=$_GET['subf']==3?' selected':''?>>Sub-Familia 3</option>
        <option value="escolhencomenda.php?subf=subf4" <?=$_GET['subf']==4?' selected':''?>>Sub-Familia 4</option>
        </select>


ou seja na barra de endereços deveria aparecer algo como:

www.xxxxx.pt/escolhencomenda.php?famili ... subf=subf1

isto escolhendo a 1ª familia e a 1ª sub-familia....
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31

Mensagempor Fenrir » Sexta Out 26, 2007 9:02

Tenta ser mais claro no problema.

Deixa ver se entendi.

Tens dois 'selects' um para familias e outro para sub-familias?

e ao selecionares queres passar no URL o conteudo de ambos?
Avatar do Utilizador
Fenrir
Membro de Prata
Membro de Prata
 
Mensagens: 354
Registado: Segunda Set 20, 2004 22:33
Localização: Porto

Mensagempor kugasthelast » Sexta Out 26, 2007 9:12

peço desculpa por nao ser muito esclarecedor... mas é isso mesmo tenho dois select um com familias e outro com sub-familias e com ajuda do PHP tenho um ciclo IF ao selecionar uma familia e uma sub-familia irá filtrar a lista de produtos...digo isto prk os produtos vão ser ai uns 400 mil LOL...o ciclo if ja ta feito, o problema é k ele nao me esta a kerer ler os dois select, ou lê um ou lê outro, nao sei o k falta? algo me escapa aki?
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31

Mensagempor kugasthelast » Sexta Out 26, 2007 9:25

aqui tenho um exemplo de um ciclo IF em PHP que fiz:

Código: Seleccionar todos
if (($_GET['familia']==1) && ($_GET['subf']==1))
{
  $sel="SELECT *
       FROM tbl_produtos
WHERE estado=0 AND familia=familia1 AND subf=subf1
ORDER BY produto ASC";
#echo $sel;
       $stmt= mysql_query($sel, $conDb);
   while($row=mysql_fetch_array($stmt))
     {
  ?>
    <td bgcolor="#CCCCCC"><div align="center"><?=$row['codigo']?></div></td>
    <td bgcolor="#CCCCCC"><div align="center"><?=$row['produto']?></div></td>
    <td bgcolor="#CCCCCC"><div align="center">
      <input name="id<?=$row['id']?>" type="checkbox" id="id" value=" or id=<?=$row['id']?>">
    </div></td>
  </tr>
     <?PHP
   }
   }
   ?>
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31

Mensagempor Fenrir » Sexta Out 26, 2007 9:58

Ou seja na condição

if (($_GET['familia']==1) && ($_GET['subf']==1))

um dos valores não existe?

Convém testares imprimindo os valores na página ou algo do genero, para te certificares que um deles não existe.

O que te mostra a string do get?
Avatar do Utilizador
Fenrir
Membro de Prata
Membro de Prata
 
Mensagens: 354
Registado: Segunda Set 20, 2004 22:33
Localização: Porto

Mensagempor kugasthelast » Sexta Out 26, 2007 10:37

fiz echo e imprime para a familia "familia1" e sub-familia "subf1"...
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31

Mensagempor Fenrir » Sexta Out 26, 2007 12:34

Será algo na query que está a falhar?

Por fim, queres que te apresente os produtos perante a filtragem por familia e sub-familia não é?

Verifica se a query está a funcionar, se não estiver executa directamente na base de dados.
Avatar do Utilizador
Fenrir
Membro de Prata
Membro de Prata
 
Mensagens: 354
Registado: Segunda Set 20, 2004 22:33
Localização: Porto

Mensagempor kugasthelast » Sexta Out 26, 2007 18:56

ta a funcionar prk 1º apresento uma query com os produtos todos agr se o utilizador quiser opcionar pelo filtro para procurar mais rapido os produtos tenho essa opçao das familias e sub-familias....a minha ideia é se nao é preciso criar um botao para filtrar??? em cada uma tenho um "onChange", mas mesmo assim nao resulta, ele nao me passa os dois valores "familia" e "subf".... ou passa um ou passa outro... isto ta me a preocupar um pouco nao consigo localizar o problema... hummm...
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31

Mensagempor SIG » Domingo Out 28, 2007 23:08

Na primeira combo box tens:

[b]value="escolhencomenda.php?familia=familia1"[/b]

e na outra tens

[b]value="escolhencomenda.php?subf=subf2"[/b]

Quando o evento onchange é disparado um destes dois URLs vai ser "executado". Repara que quando seleccionas uma sub-família só está a ser enviado um único parâmetro e é daí que vem o teu "ou passa um ou passa outro".

Para funcionar como tu queres deves também incluir no código em que crias a sub-família a família principal que está seleccionada (estou a presumir que a escolha de sub-famílias é eliminada quando é seleccionada uma nova família)

Experimenta o seguinte: Quando crias a option para a sub-família, no value, concatena o seguinte:

[b]&familia=$_GET['familia'][/b]

de forma a ficar:

[b]escolhencomenda.php?subf=subf3&familia=$_GET['familia'][/b]

No teu código, não podes utilizar directamente o valor do [b]GET[/b] porque quando este é 1 tu colocas [i]familia1[/i] portanto tens que o converter.
Avatar do Utilizador
SIG
Aprendiz
Aprendiz
 
Mensagens: 30
Registado: Domingo Set 26, 2004 23:06

Mensagempor kugasthelast » Segunda Out 29, 2007 10:54

muito bem funciona....MUITO OBRIGADO!!!! :D :D :D :D

tenho é um pekeno prob mas n é grave... kd seleciono a opçao ela volta ao normal fica no por defeito "escolha familia" e o outro tambem "escolha sub-familia"... se alguem souber como manter a opçao dps de selecionada... agradecia :)
kugasthelast
Aprendiz
Aprendiz
 
Mensagens: 71
Registado: Quinta Jul 19, 2007 14:31


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes

cron