Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre_php

Menu Dinamico gerado apartir do DB.

Recommended Posts

Boa tarde pessoal!

 

Venho mais uma vez pedir auxilio aos mais experientes da casa.

Preciso fazer um menu vertical que pegue os dados de uma tabela no banco de dados... no caso a tabela "anuncios". Encontrei exatamente o modelo ideal que preciso... é o :

 

http://www.mycssmenu.com/visual_interface/template19/template.html#

 

Bem complicado este treco hein... só que eu não consigo adpta-lo para as minhas necessidades que são as seguintes:

 

A partir do Estado, ele busca as Cidades e depois as Regiões, Bairros e por fim os Segmentos e sendo que ao escolher este ultimo ele mostrara apenas os anuncios dentro do Estado, região, Cidade e bairro escolhidos pelo visitante... Vejam o exemplo no meu site...

 

http://www.campcard.com.br

 

O menu esta lá na coluna da esquerda... mas só de demonstração... Antes que alguém pergunte sobre a busca avançada por selects do lado direito, é isso mesmo, fiz dessa maneira por ser mais prático, porém o fato de todos os dados citados acima estarem abertos na coluna lateral torna a pesquisa mais prática para os visitantes menos experientes, como idosos por exemplo.

 

Se alguem souber um tutorial bacana pra me passar ficarei agradecido ou algum script que eu possa estudar também serve.

 

Dessa vez acho que vou suar sangue para fazer esse menu...rsrsrsr, mas não tem jeito, quem quer aprender tem que suar mesmo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia gente!!!!

To dando um up ai no post pra ver se alguém ajuda!!! Já roçei a net atrás de algo que se aplique ás minhas necessidades mas tá osso hein!

 

Grato pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara me senti uma anta ao ler oque voce escreveu pq nao entendi nada. Quando li o titulo do post entendi logo que seria pegar o dado de uma tabela menu por exemplo e montar uma query para listar ele, mas depois fui lendo e nao entendi mais nada seja mais claro diga apenas o que quer e esqueça de falar sobre a outra busca. vamos focar, abraços estou aguardando pra poder ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá srnalim! Poxa amigão peço desculpas pela minha "expressão incorreta" mas na verdade pra mim não é só dificil executar o procedimento e sim falar sobre ele também... rsrsrs é coisa de novato né!!! Mas vamos lá...

 

Se vc visitou o site, percebeu que no lado esquerdo tem um menu... é aquilo que eu preciso! Ele vai fazer a mesma coisa que aquela "outra busca do lado direito" (por isso eu a citei) quando clicar em Estado ele mostra os estados cadastrados e quando eu clicar em um estado vai enviar dados para o menu Cidades com as cidades cadastradas... e por ai vai, até que o ultimo item que é o segmento vai retornar na coluna central todos os anuncios cadastrados de acordo com as escolhas de estado, cidade, região, bairro e segmento feitas pelo visitante... entendeu agora?

 

Se ainda não consegui ser claro, novamente peço desculpas amigo, como sou iniciante em programação não sei usar termos técnicos e corretos para me expessar adequadamente... e estou a disposição para qualquer outra informação que precisar.

 

Abraços e obrigado pela atenção dispensada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo eu tbem to bem devagar hoje kkkkkkk mas vamos la eu vi o menu aqui de exemplo que voce mando no primeiro link e sobre essa busca sua o que eu tendi foi, o cara clicar em um estado e abre todas as cidades daquele estado assim ele filtra a busca final exibindo tudo daquela cidade, porem eu diria que isso te daria um grande trabalho por exemplo teria que ter em seu banco de dados o seguinte:

 

Tabela estados

id | nome do estado

 

Tabela cidades

id | idestado | nome da cidade

 

essa estruturia seria basicamente pra montar um menu com sub-menus das cidades, agora basta utilizar UL LI espero que entenda bem de css ficando assim

<ul>
  <li>
  Nome do estado
    <ul>
       <li>Nome da cidade</li>
       <li>Nome da cidade</li>
    </ul>
  </li>
</ul>

eu usaria ul li assim e depois aplicaria o efeito hover apenas com css sem javascript pra fazer o menu dropdown.

 

sendo assim basta fazer uma consulta na tabela estado e listar todos dela e fazer outra consulta na tabela cidade e listar todos relacionados dessa forma voce montara o que precisa.

 

se tiver duvida ou caso eu nao tenha ajudado em nada fala ai que eu tento de novo abração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa... valeu pela prontidão srnalim, olha só, eu estou meio confuso na criação destas tabelas, porque eu tenho uma tabela que é a principal... que contém os dados do anuncio... tipo : idanuncio, tituloanuncio, idcliente, estado, regiao, cidade, bairro, segmento... bla bla bla...

 

Eu to vasculhando a net desde a semana passada atrás de Tutoriais que me dessem uma luz... e eu vi muito sobre a criação de tabelas separadas... Eu queria muito entender o porque de ter que criar tabelas separadas para estado, regiao, cidade, bairro, segmento. É isso que esta me deixando confuso... Não dá pra usar esta tabela principal de dados? Eu devo criar estas tabelas dentro da mesma base de dados correto? Mas elas tem de ser alimentadas de alguma forma? Porque na verdade a unica tabela que é alimentada é a de "anuncio" quando eu crio um!

 

Desculpa srnalim pela minha confusão, mas cada vez que eu ouço falar em criação de novas tabelas para estes campos eu fico doido cara...rsrsrs, se você puder me explicar de novo eu ficaria imensamente agradecido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me add no facebook fb.com/anthonynalim vamos esclarecer melhor la e postamos aqui depois a conclusao pra ajudar quem tiver na mesma duvida. To saindo da empresa pra almoçar agora mas daqui a pouco estou de volta, abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e eu vi muito sobre a criação de tabelas separadas... Eu queria muito entender o porque de ter que criar tabelas separadas para estado, regiao, cidade, bairro, segmento.

 

procure sobre normalização de banco de dados e formas normais

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde á todos!!!

 

Continuo precisando de ajuda... não consegui contato pelo facebook com o srnalim... se mais alguém entender do assunto e puder me dar uma força ai serei imensamente grato!

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Alexandre!

Também sou novo no fórum, mas entendi a sua necessidade e vou tentar explicar o que o srnalim e o shini querem dizer.

 

Para fazer da forma que você quer, precisa fazer o cadastro de estados e cidades em tabelas separadas pelo seguinte:

O estado DF tem N cidades, no banco de dados na tabela ESTADO você iria incluir apenas UM registros e na tabela CIDADE iria incluir várias cidades, dessa forma iria fazer o relacionamento no banco, que iria dizer que a cidade Brasília pertence ao DF.

Espero que tenha entendido dessa forma.

 

Na tabela principal que você se refere, poderia salvar apenas os ID's de estado e cidade.

E na hora de montar o menu iria criar uma regra para listar apenas estados e cidades cujo ID's estejam sendo usados na sua tabela principal.

Precisa entender um pouco de banco de dados para fazer um menu dinâmico dessa forma que você quer.

Mais precisamente de consultas mais avançadas ( utilizando INNER JOIN ) e de normalização.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Campecino e Guilherme, meus agradecimentos pela atenção...

 

Campecino, estive olhando alguns menus com jquery, inclusive este que vc me mandou, porém ele não bem como no exemplo que comecei implementar no meu site...

 

http://www.campcard.com.br

 

eu tirei este modelo daqui... http://www.mycssmenu.../template.html# , apenas para ilustrar...

 

Perceba que ele fica mostrando todas as sub-categorias de uma determinada categorias, só fechando se você clicar em outra categoria diferente...

 

Guilherme... então há uma forma de fazer isso sem ter que criar novas tabelas... era isso que o srnalim ia me explicar... eu já to surtando com esse negocio cara... ta dificil pra caramba finalizar esse site...rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos!!! Após muita procura e estudo... consegui a informação que eu precisava com um amigo bem próximo só que devido a falta de tempo (dele e minha também) não conseguimos nos falar mais, porém não vou finalizar o post até que eu termine um ultimo passo... que é clicar no ultimo item do menu (no meu caso é "Segmento") assim deste modo postarei esta ultima informação para que pessoas inexperientes mas que tenham muita vontade de aprender assim como eu, possa ter acesso a este modo de criar um menu...

 

Como dito no inicio do post, estou utilizando a estrutura do seguinte menu: http://www.mycssmenu.../template.html# , já aviso que não gostei do funcionamento dele pois quando clicado no ultimo item (no meu caso "Segmento", criei um link para uma página interna do meu site...) ele atualiza a pagina deixando alguns itens abertos que não tem nada a ver com a pesquisa realizada pelo usuário... então como eu não estou conseguindo resolver isso talvez eu mude de menu, e se alguém conhecer algum que funcione desta forma aceito sugestões...

 

Porém o mais importante aqui é o código PHP postarei abaixo:

<?php//  Este arquivo conecta um banco de dados MySQL num Servidor.$host	  = "localhost";	// Servidor$dbname	  = "Sua data base";		// Database$usuario  = "Seu Usuario";			// Usuário$password = "Sua senha"			// Senha//===========================================================================================================// 1º passo - Conecta ao servidor MySQL if (! ( $id = mysql_connect ($host,$usuario,$password ) ) ) {   echo "1-) Não foi possível estabelecer uma conexão com o gerenciador MySQL. Favor Contactar o Administrador.";   exit;} //===========================================================================================================// 2º passo - Seleciona o Banco de Dados if (! ( $con=mysql_select_db ($dbname,$id) ) ) {    echo "2-) Não foi possível estabelecer uma conexão com o Database. Favor Contactar o Administrador.";   exit; } //===========================================================================================================?><!--aqui começa o menu--><ul id="qm0" class="qmmc"><!-- primeira ul estados--> <?php  // Estados...               // Executa a consulta  $sql = "SELECT DISTINCT Estado FROM suaTabela ORDER BY Estado";  $res = mysql_query($sql);        if (!$res) {        die("Erro! " . mysql_error());        }                // Exibe as linhas encontradas na consulta        while ($row = mysql_fetch_array($res)) {	    ?>		    <li><a class="qmparent" href="javascript:void(0)"><?=$row['Estado'];?></a>	    <ul><!-- segunda ul regiao-->        <?php        // Regioes de cada estado...        $sql_regiao = "SELECT DISTINCT Regiao 		               FROM suaTabela 			       WHERE Estado = '" . $row['Estado'] . "' 			       ORDER BY Regiao";           		               $res_regiao = mysql_query($sql_regiao);                       if (!$res_regiao) {                       die("Erro na busca da regiao! " . mysql_error());                       }                       while ($row_regiao = mysql_fetch_array($res_regiao)) {                       ?> 	                   <li><a class="qmparent" href="javascript:void(0)"><?=$row_regiao['Regiao'];?></a>	                       <ul><!-- terceira ul Cidade-->                       <?php                       // Cidades das Regioes dos Estados...                       $sql_cidade = "SELECT DISTINCT Cidade 						             FROM suaTabela 						             WHERE Estado = '" . $row['Estado']        . "' 							     AND Regiao = '"      . $row_regiao['Regiao'] . "' 							     ORDER BY Cidade";									                             							$res_cidade = mysql_query($sql_cidade);                            if (!$res_cidade) {                            die("Erro na busca da cidade! " . mysql_error());                            }                            while ($row_cidade = mysql_fetch_array($res_cidade)) {                            ?> 	                        <li><a class="qmparent" href="javascript:void(0)"><?=$row_cidade['Cidade'];?></a>			                            <ul><!-- quarta ul segmento-->                            <?php                            // Cidades das Regioes dos Estados...                            $sql_segmento = "SELECT DISTINCT Segmento                                                                                        FROM suaTabela                                            WHERE Estado = '" . $row['Estado'] . "'                                             AND Regiao = '"      . $row_regiao['Regiao'] . "'                                             AND Cidade = '"      . $row_cidade['Cidade'] . "'                                             ORDER BY Segmento";                                                                                      					    $res_segmento = mysql_query($sql_segmento);                                            if (!$res_segmento) {                                            die("Erro na busca do segmento! " . mysql_error());                                            }                                            while ($row_segmento = mysql_fetch_array($res_segmento)) {                                            ?> 		                                <li><a href="index.php?pg=filtro2.php"><?=$row_segmento['Segmento'];?></a></li>        		     		  <?php } ?>                                                 </ul><!-- fecha quarta ul segmentos-->                                                </li><!-- fecha li cidades-->             		               <?php } ?>			                       </ul><!-- fecha terceira ul cidades-->                                </li><!-- fecha li região-->        		     <?php } ?>    		             </ul><!-- fecha segunda ul região-->                   </li><!-- Fecha li Estados--><?php } ?>       <li class="qmclear"> </li></ul><!--Fecha primeira ul Estados-->

Bem amigos... acho que o post ficou um tanto grande, mas espero que não tenha ficado confuso!

 

A ultmia questão então é: Quando eu clicar no ultimo item (Segmento) ele teria que mostrar todos os anuncios relacionados ao Segmento escolhido pertencentes a tal 'Cidade' da tal 'Região' do tal 'Estado'... reparem que na linha:

<li><a href="index.php?pg=filtro2.php"><?=$row_segmento['Segmento'];?></a></li>

Coloquei um link apenas para ilustrar o menu funcionando, só que ele não esta filtrando... ele me mostra todos os anuncios independente da escolha do Usuário.

 

Como eu monto esse filtro?

 

Se alguém puder ajudar, este post sobre menu dinamico vai ficar bem completo! Abraços a todos!

 

 

Bom dia pessoal, ainda não consegui sanar esta dúvida... se alguém puder me ajudar... agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Alexandre_php, Dentro do filtro, no caso filtro2 seria uma página e dentro dessa página faça um novo SELECT chamando as tabelas e linhas correspondente a seu filtro em questão!

 

Espero ter ajudado!

 

Agora quem puder me ajudar com esse poster agradeço desde já obrigado, abaixo segue o link!

 

http://forum.imasters.com.br/topic/513222-menu-dinmico-com-select-while-php-e-mysql/#entry2035248

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.