Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações a todos!!!Estou montando um site de consultas de registros na minha intranet, utilizando PHP e Mysql. Estou praticamente finalizado a página, porém estou meio que "atolado" num problema, e gostaria da ajuda de vcs....Apenas pra teste montei uma Pagina com um Form e um campo de seleção apenas, onde aparece apresenta 3 opções para o usuário selecionar.Estas opções seriam o tipo de busca que o usuário pode utilizar. Quando ele acaba de selecionar a opção, na mesma página logo abaixo é exibido os os campos que o usuário deve preencher pra concluir a sua consulta.Pensei em fazer em primeira instância 2 frames, onde o frame de cima teria esse campo com as 3 opções, atualizando os campos do frame de baixo.Mas antes de tentar fazer isso, gostaria de saber se o PHP tem algo que permite fazer isso na mesma página....será que existe!?Alguma idéia!?Um abraço a todos!!!!
Seria algo assim:
Primeiro aparece apenas um campo:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.soarquivos.blogger.com.br/tela1.jpg&key=0b233fdbee67158f63a14aeb8a210d80f567ec69e376faa6a38b6e7d11ae7337" alt="Imagem Postada" />
E escolhendo a opção, ele exibe os campos seguintes:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.soarquivos.blogger.com.br/tela2.jpg&key=1935892ed3c0da1154150365f73bfa4d8b29eee935db8bb9d2d0301ac3470f0e" alt="Imagem Postada" />
se eu fosse usar If(isset($_post)), qual seria a forma correta de usar!? Como devo completar o código?!
<?phpIf(isset($_post)) {<form name="form1" method="post" action="<?php $server["PHP_SELF"];?>"><select name="Listagem"><option>Selecione aqui o tipo de busca...</option><option>Por Empresa...</option></select><input type="text" name="textfield"><input type="text" name="textfield2"><input type="text" name="textfield3"><input type="submit" name="Submit" value="Buscar"></form>Sei lá...tá meio confuso pra mim...Olhei umas dicas no site Simples Idéias:
http://simplesideias.com.br/multiplos-boto...-um-formulario/
e achei algo que poderia me servir....é uma idéia simples de se utilizar o comando "Switch" para inserir mais botões no formulário, e pensei em testar com o Switch esse esquema de exibir campos dinamicamente...
Ficaria alo assim...
<?phpfunction get_post_action($name){ $params = func_get_args(); foreach ($params as $name) { if (isset($_POST[$name])) { return $name; } }}?><form name="form1" method="post" action="<?php $server["PHP_SELF"];?>"><select name="Listagem"><option>Selecione aqui o tipo de busca...</option><option>Por Empresa...</option></select><?phpswitch (get_post_action('Por Empresa...')) {case 'Por Empresa...': //Caso a opção "Por empresa..." for selecionada<input type="text" name="textfield"><input type="text" name="textfield2"><input type="text" name="textfield3"><input type="submit" name="Submit" value="Buscar">break; default: //nenhuma ação é feita....}?></form>
Claro que não vai rodar, mas assim....a idéia que eu tive a principio era de programar algo assim....
Pode usar JavaScript apenas para mostar ou esconder os campos que você quer, assim não precisa enviar o formulário e fazer refresh na página.É só colocar os campos dentro de uma div ou mesmo uma tabela e alterar o ´display´ do elemento.aqui vai um exemplo, dá pra melhorar bastante o JavaScript fiz na tosqueira:
<script type="text/javascript"> function mostraDiv(campoSelect){ valor=document.getElementById(campoSelect).value; divPessoa =document.getElementById('pessoa'); divEmpresa =document.getElementById('empresa'); if(valor==1){ divEmpresa.style.display='' divPessoa.style.display='none' } if(valor==2){ divEmpresa.style.display='none' divPessoa.style.display='' } }</script><body><select name="select" onChange="mostraDiv('opcao')" id="opcao"> <option value="0">Selecione uma opção</option> <option value="1">Empresa</option> <option value="2">Pessoa</option></select><div id="pessoa" style="display:none"> Nome <input name="" type="text"><br> CPF <input name="" type="text"></div><div id="empresa" style="display:none"> Empresa <input name="" type="text"><br> CNPJ <input name="" type="text"></div>
Vê se funciona ai.Falou
Aw Guilherme! Funcionou do jeito que eu queria!Bacana mesmo!A principio eu queria usar PHP, pq as opções de consulta que vou criar para os usuários vão ser muitas, então vou ter uma tabela em MySQL pra alocar essas opções. Mas ai eu vou testar com esse script as consultas em MySQL usando PHP, e vejo se vai funcionar...
guilhermecr como faço para em vez de ser select ser do tipo radio?
Você quer saber se dá pra fazer a consulta na mesma página né?Há duas maneiras ou usando o if(isset($_Post))para escrever o que vai acontecer se for postado e no form você colocar no action $_server["PHP_SELF"];ou usando ajax...nas duas maneiras funciona, só que a página fica grande....