Ir para conteúdo

POWERED BY:

Arquivado

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

SrTunes

[Resolvido] Habilitar Campo a partir de um select usando PHP

Recommended Posts

Boa tarde a todos,

 

Gostaria de uma ajudinha em meu projeto:

 

Bem stou querendo criar um formulario com PHP que fizesse o seguinte:

 

Em um campo de seleção, quando eu selecionar um item ele habilita outro campo. Eu vi isso em javascript, mas gostaria de saber se da pra fazer em php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem o javascript você teria que atualizar a página..

 

para ser um bom programador, um bom web designer é obrigação aprender Jquery /Javascript eles tem uma ótima interação e é fácil de aprender..

facilita de mais sua vida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sem o javascript você teria que atualizar a página..

 

para ser um bom programador, um bom web designer é obrigação aprender Jquery /Javascript eles tem uma ótima interação e é fácil de aprender..

facilita de mais sua vida.

 

Ok. Eu admito, sou um péssimo programador... rs

Pode me ajudar com isso? Se sim, é o seguinte:

 

Tenho uma tabela SQL de usuários, uma de coordenação e uma de cargo. A tabela de coordenação e a de cargo tem informações que preenchem duas celulas da tabela usuarios.

 

quero fazer um formulario de pesquisa com um campo de seleção com alguns dados da tabela usuarios, tipo, quando seleciono pesquisar por nome aparece um compo de texto para digitar o nome, quando seleciono a coordenação, aparece outro campo de seleção com os nomes das coordenações que estão na tabela coordenação. E também quando eu clicasse em pesquisar, uma string em php receberia o valor.

 

Pode me ajudar com isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é possível ajudar, não só eu vou como toda Equipe Imasters que é qualificada...

 

mais para ajudar precisamos que você pode o jeito que se encontra seu código pois eu posso te dizer a ideia mais como você disse que ainda não sabe muito bem programar para te passar uma posição precisamos ver o que se passa..

 

grande abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim é possível ajudar, não só eu vou como toda Equipe Imasters que é qualificada...

 

mais para ajudar precisamos que você pode o jeito que se encontra seu código pois eu posso te dizer a ideia mais como você disse que ainda não sabe muito bem programar para te passar uma posição precisamos ver o que se passa..

 

grande abraços.

 

Muitíssimo obrigado Vinicius!

 

Então vou postar aqui o o que ja consegui fazer:

 


<?php
include "codigos/conexao.php";
$qry_coordenacao = "SELECT * FROM coordenacao ORDER BY coordenacao ASC;";
$exe_coordenacao = mysql_query($qry_coordenacao);

$qry_cargo = "SELECT * FROM cargo ORDER BY cargo ASC;";
$exe_cargo = mysql_query($qry_cargo);

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>

<title> Pesquisa </title>
<script type="text/javascript">
    function mostraDiv(valor)
    {
         if(valor == "nome")
         {
               document.getElementById("nome").style.display = "block";
               document.getElementById("cpf").style.display = "none";
               document.getElementById("coord").style.display = "none";
	document.getElementById("cargo").style.display = "none";
         }

         else if(valor == "cpf")
         {
               document.getElementById("nome").style.display = "none";
               document.getElementById("cpf").style.display = "block";
               document.getElementById("coord").style.display = "none";
	document.getElementById("cargo").style.display = "none";
         }

         else if(valor == "coord")
         {
               document.getElementById("nome").style.display = "none";
               document.getElementById("cpf").style.display = "none";
               document.getElementById("coord").style.display = "block";
	document.getElementById("cargo").style.display = "none";
         }

         else if(valor == "cargo")
         {
               document.getElementById("nome").style.display = "none";
               document.getElementById("cpf").style.display = "none";
               document.getElementById("coord").style.display = "none";
	document.getElementById("cargo").style.display = "block";
    }
}
</script>

<style type="text/css">
      #nome, #cpf, #coord, #cargo
      {
           display:none;
      }
</style>

</head>

<body>

               <p> 
                       <select name="pesquisa" onchange="mostraDiv(this.value)">
                               <option value="nome"> Nome </option>      
                               <option value="cpf"> CPF </option>
                               <option value="coord"> Coordenação </option>
                               <option value="cargo"> Cargo </option>
                       </select>
               </p>

               <p>

                       <div id="nome">
                               <input type="text" name="nome" /> <br />
                       </div>

                       <div id="cpf">
                               <input type="text" name="cpf" /> <br />
                       </div>

                       <div id="coord">
                               <select name="coordenacao">
                       		<?php
                           	while($coordenacao = mysql_fetch_array($exe_coordenacao)){
                           	?>
                       			<option <?php if($usuario["coordenacao"] == $coordenacao["coordenacao"]): ?>selected="selected"<?php endif; ?> value="<?php echo $coordenacao["coordenacao"]; ?>"><?php echo $coordenacao["coordenacao"]; ?>
                       			</option>
                       		<?php
                         		}
                           	?>
                       		</select>
                       </div>

                       <div id="cargo">
                       	<select name="cargo">
                       	<?php
                           while($cargo = mysql_fetch_array($exe_cargo)){
                           ?>
                       		<option <?php if($usuario["cargo"] == $cargo["cargo"]): ?>selected="selected"<?php endif; ?> value="<?php echo $cargo["cargo"]; ?>"><?php echo $cargo["cargo"]; ?>
                       		</option>
                       <?php
                           }
                           ?>
                       	</select>
                       </div>

               </p>



</body>
</html>

 

Ta ai o que eu já consegui fazer. Bem o que eu quero e colocar um botão de pesquisar, que quando eu clico ele armazena faça a pesquisa e também armazene em uma string php o valor escolhido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você precisa fazer primeiro é tirar esses PHP do meio do seu HTML

 

o seu while é bom você concatenar como uma String guardando todos os dados do option e depois recupera.

 

algo mais ou menos assim

 

<?php
$select = '<select name="coordenacao">';
while($coordenacao = mysql_fetch_array($exe_coordenacao)){
	$select .= "<option value = "{$coordenacao["coordenacao"]}">"; 
	if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';
	$select .= "</option>";
}
?>

<div id="coord">
  <?php  echo $select ?>
</div>

 

os seus select precisam estar nesse formato para conseguirmos fazer algo dinamico nele..

implementando esse processo de uma olhada no ajax

http://api.jquery.com/jQuery.ajax/

 

qualquer dúvida retorna ao fórum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você precisa fazer primeiro é tirar esses PHP do meio do seu HTML

 

o seu while é bom você concatenar como uma String guardando todos os dados do option e depois recupera.

 

algo mais ou menos assim

 

<?php
$select = '<select name="coordenacao">';
while($coordenacao = mysql_fetch_array($exe_coordenacao)){
	$select .= "<option value = "{$coordenacao["coordenacao"]}">"; 
	if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';
	$select .= "</option>";
}
?>

<div id="coord">
  <?php  echo $select ?>
</div>

 

os seus select precisam estar nesse formato para conseguirmos fazer algo dinamico nele..

implementando esse processo de uma olhada no ajax

http://api.jquery.com/jQuery.ajax/

 

qualquer dúvida retorna ao fórum.

 

E ai Vinicius! cara entendi que eu devo tirar o codigo php do meio do Html, eu também gostaria disso. Mas não estou entendendo seu código direito, mais precisamente isso:

if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';

 

O que você precisa fazer primeiro é tirar esses PHP do meio do seu HTML

 

o seu while é bom você concatenar como uma String guardando todos os dados do option e depois recupera.

 

algo mais ou menos assim

 

<?php
$select = '<select name="coordenacao">';
while($coordenacao = mysql_fetch_array($exe_coordenacao)){
	$select .= "<option value = "{$coordenacao["coordenacao"]}">"; 
	if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';
	$select .= "</option>";
}
?>

<div id="coord">
  <?php  echo $select ?>
</div>

 

os seus select precisam estar nesse formato para conseguirmos fazer algo dinamico nele..

implementando esse processo de uma olhada no ajax

http://api.jquery.com/jQuery.ajax/

 

qualquer dúvida retorna ao fórum.

 

Ha, Vinicius,

 

Eu estava pensando em colocar esse codigo dentro de um form tipo post, como faço para jogar o post em uma variavel php e jogar em um if para verificar que tipo de post foi, se foi nome, cpf, coord ou cargo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Vinicius! cara entendi que eu devo tirar o codigo php do meio do Html, eu também gostaria disso. Mas não estou entendendo seu código direito, mais precisamente isso:

if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';

 

 

Ha, Vinicius,

 

Eu estava pensando em colocar esse codigo dentro de um form tipo post, como faço para jogar o post em uma variavel php e jogar em um if para verificar que tipo de post foi, se foi nome, cpf, coord ou cargo?

 

certo, tirar o Html do php é um jeito mais fácil de trabalhar mais o que eu disse foi tirar apenas as consultas que geram seu select, mais caso queria tirar tudo é aconselhável.

if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';

 

essa linha do código é exatamente o que ela quer dizer se o dado do cordenacao do array usuario for igual ao coordenacao do array coordenacao ele vai me marcar esse campo como selecionado caso contrário ele deixa vazio.

 

mais eu creio que sua dúvida foi por que não apliquei muito bem essa parte eu fiquei meio confuso com seu código e acabei aplicando mal essa regra.

 

eu tentei me basear no seu code.

 

você não precisa colocar isso dentro de um post com o ajax que eu coloquei em questão para o trabalho vamos dar esse post e substituir essa sua consulta e só os dados novos que entrarão estarão no post.

 

eu edito o post mais tarde tenho que trabalhar um pouco..

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo, tirar o Html do php é um jeito mais fácil de trabalhar mais o que eu disse foi tirar apenas as consultas que geram seu select, mais caso queria tirar tudo é aconselhável.

if($usuario["cordenacao"] == $coordenacao["coordenacao"]): $select .= selected = "selected"; ? $select .= '';

 

essa linha do código é exatamente o que ela quer dizer se o dado do cordenacao do array usuario for igual ao coordenacao do array coordenacao ele vai me marcar esse campo como selecionado caso contrário ele deixa vazio.

 

mais eu creio que sua dúvida foi por que não apliquei muito bem essa parte eu fiquei meio confuso com seu código e acabei aplicando mal essa regra.

 

eu tentei me basear no seu code.

 

você não precisa colocar isso dentro de um post com o ajax que eu coloquei em questão para o trabalho vamos dar esse post e substituir essa sua consulta e só os dados novos que entrarão estarão no post.

 

eu edito o post mais tarde tenho que trabalhar um pouco..

 

Se basear no meu code... lascou... rs

 

Essa parte do code é só para pegar os valores de uma outra tabela e mostrarem um select, não tem problema ficar assim, eu acho... rs

 

O meu maior problema esta como utilizar o dado que eu peguei da pesquisa. tipo,

mudei um pouco o código antes de ver ajax, inserindo a pesquisa dentro de um formulario com post, assim:

 

form_pesquisa.php


<?php
include "codigos/conexao.php";
$qry_coordenacao = "SELECT * FROM coordenacao ORDER BY coordenacao ASC;";
$exe_coordenacao = mysql_query($qry_coordenacao);

$qry_cargo = "SELECT * FROM cargo ORDER BY cargo ASC;";
$exe_cargo = mysql_query($qry_cargo);

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>

               <title> Pesquisa </title>
               <script type="text/javascript">
                       function mostraDiv(valor)
                       {
                               if(valor == "nome")
                               {
                                       document.getElementById("nome").style.display = "block";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
				document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "cpf")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "block";
                                       document.getElementById("coord").style.display = "none";
				document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "coord")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "block";
				document.getElementById("cargo").style.display = "none";
                               }

			else if(valor == "cargo")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
				document.getElementById("cargo").style.display = "block";
                               }
                       }
               </script>

               <style type="text/css">
                       #nome, #cpf, #coord, #cargo
                       {
                               display:none;
                       }
               </style>

</head>

<body>
<form name="pesquisa" method="post" action="pesquisa.php">
<table width="200" height="100" border="1"> 
   	<tr>
       	<td width="60">
		   		<select name="pesquisa" onchange="mostraDiv(this.value)">
        		 <option value="nome"> Nome </option>      
   	    		         <option value="cpf"> CPF </option>
       			 <option value="coord"> Coordenação </option>
       			 <option value="cargo"> Cargo </option>
   			</select>
		</td>
           <td width="100">
			<div id="nome">
				<input type="text" name="nome" /> <br />
			</div>

			<div id="cpf">
				<input type="text" name="cpf" /> <br />
			</div>

			<div id="coord">
				<select name="coordenacao">
				<?php
					while($coordenacao = mysql_fetch_array($exe_coordenacao)){
				?>
					<option <?php if($usuario["coordenacao"] == $coordenacao["coordenacao"]): ?>selected="selected"<?php endif; ?> value="<?php echo $coordenacao["coordenacao"]; ?>"><?php echo $coordenacao["coordenacao"]; ?>
					</option>
				<?php
				}
				?>
				</select>
			</div>

			<div id="cargo">
				<select name="cargo">
				<?php
					while($cargo = mysql_fetch_array($exe_cargo)){
				?>
					<option <?php if($usuario["cargo"] == $cargo["cargo"]): ?>selected="selected"<?php endif; ?> value="<?php echo $cargo["cargo"]; ?>"><?php echo $cargo["cargo"]; ?>
					</option>
				<?php
				}
				?>
				</select>
			</div>
		</td>
           <td>
           	<input type="submit" value="Pesquisar" />
		</td>
	</tr>
</table>
</form>



</body>
</html>

 

Beleza, esa pagina ficou legal, mas é pesquisa.php que eu não sei se ta ok:

 

pesquisa.php


<?php

require("codigos/conexao.php");

if (getenv("REQUEST_METHOD") == "POST") {

if(isset($_POST['nome'])){
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$_POST['nome']."%'");
}
if(isset($_POST['cpf'])){
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$_POST['cpf']."%'");
}
if(isset($_POST['coord'])){
	$res = mysql_query("SELECT `usuarios`.* FROM `usuarios` INNER JOIN `cargo` ON `usuarios`.`cargo` = `cargo`.`cargo` WERE '%" .$_POST['coord']."%' ORDER BY `cargo`.`id` ASC");
}
if(isset($_POST['cargo'])){
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$_POST['cargo']."%' ORDER BY nome ASC");
}
//header ("location:controle-de-certificados.php");
}
else{
$res = mysql_query("select * from usuarios");
}

?>

 

A pagina principal também requisita ela para montar a tabela. Só que quando abro a de pesquisa e clico em pesquisar ela para na pesquisa.php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim e o ajax vai fazer isso acontecer sem você precisar atualizar, se não ter problema em atualizar a página tem um jeito de fazer sem o ajax. porém na sua página como informei eu preciso que você separe o seu php do html pelo menos na parte onde gera o select que foi a que tentei fazer alteração ai ficaria desse tipo.

 

jeito sem ajax seria assim

<?php
include "codigos/conexao.php";
if(isset[$_POST['conferirPost']){
$qry_coordenacao = "SELECT * FROM coordenacao WHERE nome = $_POST['nome'] AND cordenacao = $_POST['corndenacao'] ORDER BY coordenacao ASC";
$qry_cargo = "SELECT * FROM cargo WHERE nomeDoCampo = $_POST['nameCampo'] ORDER BY cargo ASC";

}else{
$qry_coordenacao = "SELECT * FROM coordenacao ORDER BY coordenacao ASC;";
$qry_cargo = "SELECT * FROM cargo ORDER BY cargo ASC;";
}
$exe_coordenacao = mysql_query($qry_coordenacao);
$exe_cargo = mysql_query($qry_cargo);

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>

               <title> Pesquisa </title>
               <script type="text/javascript">
                       function mostraDiv(valor)
                       {
                               if(valor == "nome")
                               {
                                       document.getElementById("nome").style.display = "block";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "cpf")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "block";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "coord")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "block";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "cargo")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "block";
                               }
                       }
               </script>

               <style type="text/css">
                       #nome, #cpf, #coord, #cargo
                       {
                               display:none;
                       }
               </style>

</head>

<body>
<form name="pesquisa" method="post" action="">
       <table width="200" height="100" border="1"> 
      <input type="hidden" name="conferirPost">
       <tr>
               <td width="60">
                               <select name="pesquisa" onchange="mostraDiv(this.value)">
                                <option value="nome"> Nome </option>      
                                <option value="cpf"> CPF </option>
                                <option value="coord"> Coordenação </option>
                                <option value="cargo"> Cargo </option>
                       </select>
                       </td>
           <td width="100">
                               <div id="nome">
                                       <input type="text" name="nome" /> <br />
                               </div>

                               <div id="cpf">
                                       <input type="text" name="cpf" /> <br />
                               </div>

                               <div id="coord">
                                       <select name="coordenacao">
                                       <?php
                                               while($coordenacao = mysql_fetch_array($exe_coordenacao)){
                                       ?>
                                               <option <?php if($usuario["coordenacao"] == $coordenacao["coordenacao"]): ?>selected="selected"<?php endif; ?> value="<?php echo $coordenacao["coordenacao"]; ?>"><?php echo $coordenacao["coordenacao"]; ?>
                                               </option>
                                       <?php
                                       }
                                       ?>
                                       </select>
                               </div>

                               <div id="cargo">
                                       <select name="cargo">
                                       <?php
                                               while($cargo = mysql_fetch_array($exe_cargo)){
                                       ?>
                                               <option <?php if($usuario["cargo"] == $cargo["cargo"]): ?>selected="selected"<?php endif; ?> value="<?php echo $cargo["cargo"]; ?>"><?php echo $cargo["cargo"]; ?>
                                               </option>
                                       <?php
                                       }
                                       ?>
                                       </select>
                               </div>
                       </td>
           <td>
               <input type="submit" value="Pesquisar" />
                       </td>
               </tr>
       </table>
</form>



</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim e o ajax vai fazer isso acontecer sem você precisar atualizar, se não ter problema em atualizar a página tem um jeito de fazer sem o ajax. porém na sua página como informei eu preciso que você separe o seu php do html pelo menos na parte onde gera o select que foi a que tentei fazer alteração ai ficaria desse tipo.

 

jeito sem ajax seria assim

<?php
include "codigos/conexao.php";
if(isset[$_POST['conferirPost']){
$qry_coordenacao = "SELECT * FROM coordenacao WHERE nome = $_POST['nome'] AND cordenacao = $_POST['corndenacao'] ORDER BY coordenacao ASC";
$qry_cargo = "SELECT * FROM cargo WHERE nomeDoCampo = $_POST['nameCampo'] ORDER BY cargo ASC";

}else{
$qry_coordenacao = "SELECT * FROM coordenacao ORDER BY coordenacao ASC;";
$qry_cargo = "SELECT * FROM cargo ORDER BY cargo ASC;";
}
$exe_coordenacao = mysql_query($qry_coordenacao);
$exe_cargo = mysql_query($qry_cargo);

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>

               <title> Pesquisa </title>
               <script type="text/javascript">
                       function mostraDiv(valor)
                       {
                               if(valor == "nome")
                               {
                                       document.getElementById("nome").style.display = "block";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "cpf")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "block";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "coord")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "block";
                                       document.getElementById("cargo").style.display = "none";
                               }

                               else if(valor == "cargo")
                               {
                                       document.getElementById("nome").style.display = "none";
                                       document.getElementById("cpf").style.display = "none";
                                       document.getElementById("coord").style.display = "none";
                                       document.getElementById("cargo").style.display = "block";
                               }
                       }
               </script>

               <style type="text/css">
                       #nome, #cpf, #coord, #cargo
                       {
                               display:none;
                       }
               </style>

</head>

<body>
<form name="pesquisa" method="post" action="">
       <table width="200" height="100" border="1"> 
      <input type="hidden" name="conferirPost">
       <tr>
               <td width="60">
                               <select name="pesquisa" onchange="mostraDiv(this.value)">
                                <option value="nome"> Nome </option>      
                                <option value="cpf"> CPF </option>
                                <option value="coord"> Coordenação </option>
                                <option value="cargo"> Cargo </option>
                       </select>
                       </td>
           <td width="100">
                               <div id="nome">
                                       <input type="text" name="nome" /> <br />
                               </div>

                               <div id="cpf">
                                       <input type="text" name="cpf" /> <br />
                               </div>

                               <div id="coord">
                                       <select name="coordenacao">
                                       <?php
                                               while($coordenacao = mysql_fetch_array($exe_coordenacao)){
                                       ?>
                                               <option <?php if($usuario["coordenacao"] == $coordenacao["coordenacao"]): ?>selected="selected"<?php endif; ?> value="<?php echo $coordenacao["coordenacao"]; ?>"><?php echo $coordenacao["coordenacao"]; ?>
                                               </option>
                                       <?php
                                       }
                                       ?>
                                       </select>
                               </div>

                               <div id="cargo">
                                       <select name="cargo">
                                       <?php
                                               while($cargo = mysql_fetch_array($exe_cargo)){
                                       ?>
                                               <option <?php if($usuario["cargo"] == $cargo["cargo"]): ?>selected="selected"<?php endif; ?> value="<?php echo $cargo["cargo"]; ?>"><?php echo $cargo["cargo"]; ?>
                                               </option>
                                       <?php
                                       }
                                       ?>
                                       </select>
                               </div>
                       </td>
           <td>
               <input type="submit" value="Pesquisar" />
                       </td>
               </tr>
       </table>
</form>



</body>
</html>

 

Cara, voce esta me ajudando muito. Desde ja te agradeço imensamente.

 

Ha algumas dificuldades que acho que serão sanadas quando eu conseguir te explicar melhor o que eu quero. Ai voce pode me dizer se é possivel ou não.

 

Tenho uma pagina inicial chamada controle_de_certificados.php, nela é exibido minha tabela principal que é a usuarios, a parte do código dela é essa:


<?php
include "codigos/conexao.php";

/*Executa o comando SQL, no caso para pegar todos os usuarios do sistema e retorna o valor da consulta em uma variavel ($res)  */
$res = mysql_query("select * from usuarios"); 

/*Enquanto houver dados na tabela para serem mostrados será executado tudo que esta dentro do while */
while($escrever=mysql_fetch_array($res)){
      echo '<tr>
      <td class="tabela-coluna0"><span>' . $escrever['nome'] . '</span></td>
      <td class="tabela-coluna1"><span>' . $escrever['cpf'] . '</span></td>
      <td class="tabela-coluna2"><span>' . $escrever['email'] . '</span></td>
      <td class="tabela-coluna3"><span>' . $escrever['ramal'] . '</span></td>
      <td class="tabela-coluna4"><span>' . $escrever['coordenacao'] . '</span></td>
      <td class="tabela-coluna5"><span>' . $escrever['tipoToken'] . '</span></td>
      <td class="tabela-coluna6"><span>' . $escrever['situacao'] . '</span></td>
      <td class="tabela-coluna7"><span>' . $escrever['nTermo'] . '</span></td>
      <td class="tabela-coluna8"><span>' . $escrever['data'] . '</span></td>
      <td class="tabela-coluna9"><span>
              <a href= "editar_usuario.php" rel="superbox[ajax][form_editar.php?id=' . $escrever["id"] . '">Editar</a>
      </td>
      </tr>';
}
mysql_close($conexao);
?>
       </tbody>
     </table>
   </div>
 </div>
 <div id="base">
 <form>
 <input type="button" value="Incluir usuário" onClick="window.open('cadastro.php','Formulario','width=610,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');" />
 </form>
 <a href="form_pesquisa.php" rel="superbox[ajax][form_pesquisa.php]">pesquisa</a>
 </div>
</div>
</body>

 

Como você, ou mais alguém que estiver lendo o post pode ver, nessa página implementei um botão de pesquisa que abre uma janela usando jquery com ajax. Essa janela de pesquisa é a que tem o formulário de pesquisa. cliquo la, ele abre em uma janelinha com a pagina form_pesquisa.php. Isso funciona perfeitamente

 

Agora vem as dúvidas:

na pagina de form_pesquisa.php o código esta assim como tinha postado antes, vou colocar só a parte do formulário:


<body>
<form name="pesquisa" method="post" action="controle-de-certificados.php">
<table width="200" height="100" border="1"> 
   	<tr>
       	<td width="60">
		   		<select name="pesquisa" onchange="mostraDiv(this.value)">
        		 <option value="nome"> Nome </option>      
   	    		         <option value="cpf"> CPF </option>
       			 <option value="coord"> Coordenação </option>
       			 <option value="cargo"> Cargo </option>
   			</select>
		</td>
           <td width="100">
			<div id="nome">
				<input type="text" name="nome" /> <br />
			</div>

			<div id="cpf">
				<input type="text" name="cpf" /> <br />
			</div>

			<div id="coord">
				<select name="coordenacao">
				<?php
					while($coordenacao = mysql_fetch_array($exe_coordenacao)){
				?>
					<option <?php if($usuario["coordenacao"] == $coordenacao["coordenacao"]): ?>selected="selected"<?php endif; ?> value="<?php echo $coordenacao["coordenacao"]; ?>"><?php echo $coordenacao["coordenacao"]; ?>
					</option>
				<?php
				}
				?>
				</select>
			</div>

			<div id="cargo">
				<select name="cargo">
				<?php
					while($cargo = mysql_fetch_array($exe_cargo)){
				?>
					<option <?php if($usuario["cargo"] == $cargo["cargo"]): ?>selected="selected"<?php endif; ?> value="<?php echo $cargo["cargo"]; ?>"><?php echo $cargo["cargo"]; ?>
					</option>
				<?php
				}
				?>
				</select>
			</div>
		</td>
           <td>
           	<input type="submit" value="Pesquisar" />
		</td>
	</tr>
</table>
</form>



</body>

 

Esse formulário de pesquisa abre em uma janela jquery e funciona. Minha dúvida é, quando escolho uma das opções da pesquisa, tipo coordenação e coloco a coordenação desejada para pesquisar eu quero que me retorne na tabela da pagina controle-de-certificado.php os resultados. Para isso queria pegar o valor obtido na janela form_pesquisa.php que é um post, armasenar em uma variavel de php e compara-la para fazer a pesquisa certa, tipo o que tentei fazer no arquivo pesquisa.php que esta ai em baixo, mas não deu certo. Por que sei que estou fazendo m***a em um monte de lugar.


<?php

require("codigos/conexao.php");

if (getenv("REQUEST_METHOD") == "POST") {

if(isset($_POST['nome'])){
	$dado_pesquisa == $_POST['nome'];
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$dado_pesquisa."%'");
	break;
}
if(isset($_POST['cpf'])){
	$dado_pesquisa == $_POST['cpf'];
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$dado_pesquisa."%'");break;
}
if(isset($_POST['coord'])){
	$dado_pesquisa == $_POST['coord'];
	$res = mysql_query("SELECT `usuarios`.* FROM `usuarios` INNER JOIN `cargo` ON `usuarios`.`cargo` = `cargo`.`cargo` WERE '%" .$dado_pesquisa."%' ORDER BY `cargo`.`id` ASC");break;
}
if(isset($_POST['cargo'])){
	$dado_pesquisa == $_POST['cargo'];
	$res = mysql_query("SELECT * FROM usuarios WERE '%".$dado_pesquisa."%' ORDER BY nome ASC");break;
}
}
else{
$res = mysql_query("select * from usuarios");
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros colegas, enfim entendi onde eu estava errando.

Obrigado Vinicius, tu me ajudou muito.

 

Na minha santa ignorância de programador estava escrevendo o codigo do MYSQL errado, ao invés de WHERE eu escrevi WERE... ai não funcionaria mesmo.

 

Bem não consegui ainda fazer exatamente o que eu quero, mas estou tentando.

 

Como não quero que o assunto mude completamente, podem fechar esse tópico.

 

Muito obrigado.

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.