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

Menu E Submenu Direto Do Banco


Naty_Za

Pergunta

pessoal, to com um probleminha.....

acredito ser bem simples..

é assim:

criei 2 tabelas no meu banco mysql

1 - "menu"

com os seguintes campos: "id" e "nome"

2 - "submenu"

com os seguintes campos: "id", "id_menu" e "nome"

o que eu quero é o seguinte:

que apareça os itens da tabela menu.. beleza até aí..

e cada ítem desse menu, tem o id..

então, na hora que a pessoa clicar em algum ítem do menu, de acordo com o id, quero que apareça os submenus daquele determinado ítem.

só que não estou conseguindo... quando clico em algum item do menu, ele lista todos os submenus, e não só aqueles do determinado menu...

acho que deu pra entender né?? vou postar o codigo:

<table width="700" border="1" cellpadding="2" cellspacing="0" bordercolor="#E6E6E6">
    <tr valign="top"> 
      <td width="143" align="left" bgcolor="#F8F8F8"> <span class="style10"> </span><br>
        <span class="style10">Menu</span><br> <br> 
        <?
$consulta = mysql_query("SELECT * FROM menu ORDER BY nome ASC") or die (mysql_error());
while($verifica = mysql_fetch_array($consulta)){ 
$id = $verifica["id"];
$nome = $verifica["nome"];

echo"<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>- <a href=\"categorias.php?id_menu=$id_menu\">$nome</a><br></font>";
}
?>
          </td>
      <td width="543">submenu:<br>
        <br> <div align="center"> 
          <table width="529" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td width="529" align="left" valign="top">
                <?
$consulta = mysql_query("SELECT * FROM submenu ORDER BY nome ASC") or die (mysql_error());
while($verifica = mysql_fetch_array($consulta)){ 
$id = $verifica["id"];
$id_menu = $verifica["id_menu"];
$nome = $verifica["nome"];

echo"<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>- <a href=\"categorias.php?id_menu=$id_menu\">$nome</a><br></font>";
}
?>
              </td>
            </tr>
          </table>
        </div>
        <p align="center"> </p>
        <p align="center"> </p>
        <p align="center"> </p></td>
    </tr>
  </table>

valeww pessoal!!!!!!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Cadê a sua cláusula WHERE?

("SELECT * FROM submenu ORDER BY nome ASC")

Usando apenas isso você vai pegar todos os itens do submenu... você terá que setar o WHERE para pegar apenas a parte do submenu que interessa... inicie corrigindo o seu código:

while($verifica = mysql_fetch_array($consulta)){
$id = $verifica["id"];
$nome = $verifica["nome"];

echo"<font face=Verdana, Arial, Helvetica, sans-serif><font size=1>- <a href=\"categorias.php?id_menu=$id_menu\">$nome</a><br></font>";
}
?>

note que você declara uma variável $id, mas na hora de montar o link a chama de $id_menu...

Na parte de baixo, onde você seleciona o submenu coloque:

$id_menu = $_GET['id_menu'];

E troque a parte do select por:

("SELECT * FROM submenu WHERE id_menu = '$id_menu' ORDER BY nome ASC")

Link para o comentário
Compartilhar em outros sites

  • 0

legal deu certinho!!!!!!!!!!!!!!!!! :D :rolleyes:

Valeu....

Agora tenho outra duvida.. rs

é que to implantando um sistema busca de cadastro de empresas né...

então, os cadastros são divididos por produtos e estados!

ex: vou cadastrar uma empresa que vende telhas e tubos...

no meu bd, telha e tubos, estão em categorias diferentes, e 1 empresa vende os dois produtos..

eu queria que quando a pessoa fosse buscar na categoria de telhas e na de tubos aparecesse essa empresa... nas 2 categorias... só que eu não queria ter que cadastrá-la 2 vezes para isso, queria que apenas 1 cadastro da empresa, já me desse a possibilidade de especificar 2 ou mais categorias para que essa empresa se encaixe..

deu pra entender né???

criei no banco a tabela "submenu"

com os campos de "id" e "nome"

e a tabela "cadastros"

com os campos "id", "id_submenu", "titulo", "endereco" etc.

nesse campo "id_submenu" eu coloco o id da categoria que eu quero que o cadastro apareça e pronto..

mas ele só permite 1 categoria... eu queria colocar pra aparecer em várias categorias.

tipo, se eu colocasse os ids das categorias que eu quisesse separados por virgula, sabe?

como fazer??? to postando o código

valeww

<?
$consulta = mysql_query("SELECT * FROM cadastros WHERE id_submenu = '$id_submenu' ORDER BY titulo ASC") or die (mysql_error());
while($verifica = mysql_fetch_array($consulta)){ 
$id = $verifica["id"];
$titulo = $verifica["titulo"];
$servicos = $verifica["servicos"];
$endereco = $verifica["endereco"];
$tel = $verifica["tel"];
$email = $verifica["email"];
$http = $verifica["http"];

echo"
<font face=Verdana, Arial, Helvetica, sans-serif><font size=1><strong><a href=\"$http\" 
target=\"_blank\" >$titulo</strong></a></strong><br></font>
<i>Serviços: $servicos</i><BR>
Endereço: $endereco<BR>
Tel: $tel<BR>
Email: <a href=mailto:$email>$email</a><BR>
<BR>
";
}
?>

Gente!!!!!! alguém me ajude!! pls!!!

eu quero assim: quando for cadastrar uma empresa na tabela "cadastros", no campo "id_submenu" eu queria colocar todas as categorias que eu quero que esse cadastro apareça.

hj, eu só posso colocar 1 categoria... ex: posso colocar pra aparecer na categoria 47

coloco simplesmente isso no campo....

queria que funcionasse se eu colocasse

47, 58, 68

nessas 3 categorias... teria que especificar no codigo que quando ele for buscar o nº da categoria no id_submenu, pegar todas as categorias que estão separadas por virgula também...

isso é que não to conseguindo fazer!!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, tenho um script de cadastro de empresas por categoria de produtos..

então, se 1 empresa vende 2 produtos diferentes, e eu quero que ela apareça nas duas categorias.. cadastrando ela, claro, apenas 1 vez só, e já indicando nesse cadastro quais as categorias que ela deve aparecer!!

como fazer?

No BD, tenho a tabela das "categorias" e a dos "cadastros"

na dos cadastros que eu indico o id da "categorias" direcionando assim, em qual categoria o cadastro vai aparecer!!

Me ajudem, por favor!!!!!!!!

valeu!!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

olá Naty_za supondo que você cadastre uma empresa onde os produtos são roupa e alimento, então você pode colocar naturalmente: roupa e alimento ou até roupa, alimento. tudo isso quando ele fizer a busca ele vai encontrar tanto o termo roupa quanto o alimento!!!

tipo

SELECT * FROM tabela WHERE porduto LIKE '%$produto%' ... sacou!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

No campo em que você guarda as categorias a que cada empresa está relacionada, guarde os número separados por pontos (por exemplo: .1..15..70..150.) na hora de buscar utilize o seguinte:

$consulta  = ".".$_GET['num'].".";//Pode ser POST també...
$query = mysql_query("SELECT * FROM tabela WHERE coluna like '%$consulta%'");

Lembre-se que você terá que usar um campo do tipo varchar para pode guardar os números separados por pontos...

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...