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

Validar campos mediante cadastro


aprendiz_ce

Pergunta

Desenvolvo a muitos anos para desktop, mas sempre fiz pequenas aplicações web a nível de estudo. Sendo assim, não tenho dúvidas sobre a linguagem PHP propriamente dita, mas sempre fico em dúvidas de como deve ser certo procedimento em uma aplicação web (PHP) se comparada com uma aplicação desktop (delphi). Daí decidi recorer aos colegas para me orientarem na seguinte dúvida: Como é que eu faço para validar um campo verificando se a informação digitada pelo usuário existe em um determinada tabela do banco de dados? Como deve ser uma pesquisa em cima desse campo para que o mesmo possa pesquisar tal informação? E caso o mesmo encontre a informação na pesquisa o referido codigo e descrição relativa seja inserida no formulário atual? Exemplo: Em uma tela de pedidos o usuário digita o codigo do cliente e a informações do mesmo são mostrada, caso o mesmo pesquise o cliente, e o encontre, como é que essas informações devem ser capturadas.

Se algum colega puder me passar um pequeno exemplo ou tutorial já irá me ajudar bastante.

Obrigado a todos pela atenção.

Ps.: Necessito dessa ajuda, pois estou desenvolvendo a minha primeira aplicação corporativa para Intranet/Internet.

Editado por aprendiz_ce
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, Aprendiz_ce!

Sua pergunta é bastante abrangente.

Sim, php é bem diferente do VB e imagino que também do delphi.

Se existe dados no BD que pode ser usado para Validação, fica tudo muito fácil.

Você busca o (os) dados no BD, e executa a verificação.

Um pequeno modelo:

$cons = "SELECT senha, usuario, secao FROM login WHERE usuario='$use' AND senha='$pass'";

$exe_cons = mysql_query($cons);

$resul_cons = mysql_fetch_array($exe_cons);

IF ($resul_cons[secao]=="limpeza")

{

PRINT"Esta página somente poderá ser acessada por pessoas da Portaria!!!";

}

ELSE

{//Aqui você cria a permissão à página.}

É claro que dei uma idéia, talvez você precise de outro rumo.

Mas só posso saber após mais esclarecimentos.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Bem... só mais um detalhe: se eu entendi bem sua dúvida, para fazer da forma que você quer, terá que utilizar AJAX (assim não seria necessário recarregar a página, o usuário apenas digitaria o código e já carrega os dados). Caso contrário, terá que recarregar a página e ou submeter um formulário. No mais, a consulta ao banco será semelhante à que o Endor postou.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Bem... só mais um detalhe: se eu entendi bem sua dúvida, para fazer da forma que você quer, terá que utilizar AJAX (assim não seria necessário recarregar a página, o usuário apenas digitaria o código e já carrega os dados). Caso contrário, terá que recarregar a página e ou submeter um formulário. No mais, a consulta ao banco será semelhante à que o Endor postou.

Abraços

O meu problema é como seria o layout disso... Tanto com o uso do ajax ou não.

Se alguém pudesse me passar um pequeno exemplo seria otimo.

Grato.

Bom dia, Aprendiz_ce!

Sua pergunta é bastante abrangente.

Sim, php é bem diferente do VB e imagino que também do delphi.

Se existe dados no BD que pode ser usado para Validação, fica tudo muito fácil.

Você busca o (os) dados no BD, e executa a verificação.

Um pequeno modelo:

$cons = "SELECT senha, usuario, secao FROM login WHERE usuario='$use' AND senha='$pass'";

$exe_cons = mysql_query($cons);

$resul_cons = mysql_fetch_array($exe_cons);

IF ($resul_cons[secao]=="limpeza")

{

PRINT"Esta página somente poderá ser acessada por pessoas da Portaria!!!";

}

ELSE

{//Aqui você cria a permissão à página.}

É claro que dei uma idéia, talvez você precise de outro rumo.

Mas só posso saber após mais esclarecimentos.

Abraços.

Não é bem isso não. Na realidade o meu problema como eu modo o layout para isso...

Tipo: uma tag input para o código do cliente de um pedido, do lado uma tag label para exibir a descrição do mesmo. O problema é como monto essa pesquisa. Ou seja, chamo outro formulario? para chamar coloco um botão? como carrego o referido codigo e descrição após a pesquisa?

Seria mais ou menos isso.

Grato pela sua atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Link para o comentário
Compartilhar em outros sites

  • 0
A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Beleza. É isso mesmo que eu imaginava, só que não sei bem como montar isso. Um exemplo por mais simples que fosse já me ajudaria e muito.

O amigo poderia me passar um exemplo de como se faz isso?

Grato e aguardo retorno.

Link para o comentário
Compartilhar em outros sites

  • 0
A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Beleza. É isso mesmo que eu imaginava, só que não sei bem como montar isso. Um exemplo por mais simples que fosse já me ajudaria e muito.

O amigo poderia me passar um exemplo de como se faz isso?

Grato e aguardo retorno.

Rapaz, para postar um exemplo seria complicado. Porque o código que tenho envolve vários formulários e não daria para você entender. Se alguém possuir um bem simples é melhor.

Link para o comentário
Compartilhar em outros sites

  • 0
A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Beleza. É isso mesmo que eu imaginava, só que não sei bem como montar isso. Um exemplo por mais simples que fosse já me ajudaria e muito.

O amigo poderia me passar um exemplo de como se faz isso?

Grato e aguardo retorno.

Rapaz, para postar um exemplo seria complicado. Porque o código que tenho envolve vários formulários e não daria para você entender. Se alguém possuir um bem simples é melhor.

Vou tentar te ajudar: é um cadastro de cidades apenas.

Formulário de cadastro de cidade:

<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";  
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
  
  if ($operacao != "")
  {
    mysql_query("SET NAMES UTF8");
    $sql = "SELECT * FROM tbcidade WHERE cdcidade = '$codigo'";
    $resultado = mysql_query($sql) or die ("Não; foi possível executar a consulta.");
    $linha = mysql_fetch_array($resultado);      
    $nmcidade = $linha[nmcidade];
    $sgestado = $linha[sgestado];
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar Cidade</title>
&lt;script language="javascript">
function validar()
{
    erro = 0;
    msg = "Erro no preenchimento do formulário:\n\n";
    if (frmcad_cidade.nmcidade.value == '')
    {
        msg +=  "O nome da cidade é obrigatório!";
        erro = 1;
    }
    if (frmcad_cidade.sgestado.value == 'selecione')
    {
        msg +=  "Selecione o estado corretamente!";
        erro = 1;
    }
    if (erro==1)
    {
        alert (msg);
        return false;
    }
}

function mudacor(ref,cor)
{
    ref.style.backgroundColor=cor;
}
</script>        
    
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action="rec_cad_cidade.php"  name="frmcad_cidade" onsubmit="return validar()"><table width="70%" border="0" align="center">
  <tr>
    <td height="36" class="Titulo">Cadastrar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
    <table width="70%" border="0" align="center">
      <tr style="text-align: center; color: #000;">
        <td> 
        <? if ($operacao == "alterar")
        {?>
          <input name="operacao" type ="hidden" id="operacao" value="alterar">
          <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
          <input name="confirmacao" type ="submit" value="Confirmação de alteração" border="0">
          <?
          } elseif ($operacao == "excluir")
          {?>
            <input name="operacao" type ="hidden" id="operacao" value="excluir">
            <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
            <input name="image" type="image"  src="imagens/excluir.png" width="35" height="35" border="0" >
          <?
          }
           elseif ($operacao=="consultar")
          {?>
             <a href="frmcad_cidade.php"><img src="Imagens/pesquisar.png" width="35" height="35" border="0" /></a>
             <?
             } else
             {?>
             <table cellspacing="5" align="center">
             <tr>
             <td height="21"><input name="imagefield" type="image" src="Imagens/Symbol-Add.png" width="35" height="35" border="0" /></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"></a></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"><img src="Imagens/pesquisar.png" alt="Pesquisar" width="35" height="35" border="0" /></a><a href = "principal.php?link=7&operacao=alterar"></a></td>
             <td> </td>
             <td><a href = "principal.php?link=7&operacao=alterar"><img src="Imagens/edit.png" alt="Editar" width="35" height="35" border="0" /></a></td>
             <td> </td>
              <td height="21"><a href = "principal.php?link=7&operacao=excluir"><img src="Imagens/excluir.png" width="35" height="35" border="0"></a></td>
             </tr>
              <tr>
                 <td align="center">Inserir</td>
                 <td align="center"> </td>
                 <td align="center">Pesquisar</td>
                 <td align="center"> </td>
                 <td align="center">Editar</td>
                 <td align="center"> </td>
                 <td align="center">Excluir</td>
               </tr>
             </table>
             <? } ?>
        </td>
      </tr>
    </table>
<table width="70%" border="0" align="center" cellpadding="4" cellspacing="0" >
      <tr>
        <td colspan="2" align="right"></td>
        </tr>
         <tr>
        <td width="38%" align="right" bgcolor="#EEEEEE"><span class="lblinput"><span class="tituloinput">Cidade</span></span><span class="tituloinput">:</span></td>
        <td width="62%" align="left" bgcolor="#EEEEEE"><input name="nmcidade" type="text" id="nmcidade" size="30" maxlength="30" onfocus="mudacor(this,'#EAF4FF')" onblur="mudacor(this,'#FFFFFF')" value="<? echo $nmcidade?>"/>
        <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo?>" />
        <span class="style1">*</span></td>
      </tr>
         <tr>
           <td align="right" bgcolor="#EEEEEE">Estado:</td>
           <td align="left" bgcolor="#EEEEEE">
           <?php
    $arrEstados = Array("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO" );
           ?>
           <select name="sgestado">
             <option value="">Selecione</option>
             <?php
               foreach($arrEstados as $estado)
               {
                  $selected = ($estado==$sgestado)?"selected":"";
                  echo("<option value='$estado' $selected>$estado</option>");
               }
            ?>           
          </select> <span class="style1">*</span>   
         </td>
         </tr>
     </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
    <table width="70%" border="0" cellspacing="1" cellpadding="0" align="center">
      <tr class="Titulo">
        <td width="20%">Código</td>
        <td width="60%">Cidade</td>
        <td width="20%">Estado</td>
      </tr>
      <tr>
      <?PHP
        mysql_query("SET NAMES UTF8");
        $sql = "SELECT * FROM tbcidade ORDER BY cdcidade";
        $query = mysql_query($sql);
        while ($resultado = mysql_fetch_array($query))
        {
          if ($bgcolor == "#87CEFA")
            $bgcolor = "#BFEFFF";
          else
            $bgcolor = "#87CEFA";
            
           echo "
           <tr bgcolor = '#87CEFA'>
           <td bgcolor =  \"$bgcolor\"> $resultado[cdcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[nmcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[sgestado] </td>
           </tr>";
        }
      ?>
        </td>
      </tr>
    </table>
    <p> </p>
</div>
      </tr>    
</form>
</body>
</html>
Formulário para receber o cadastro de cidade e inserir no banco:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc"; 
  
  $operacao = $_POST["operacao"];
  $codigo = $_POST["codigo"];
  
  $nmcidade = $_POST["nmcidade"];
  $sgestado = $_POST["sgestado"];
  $cdusuinc = $_POST["cdusuinc"];
  $dtincreg = $_POST["dtincreg"];
  $cdusualt = $_POST["cdusualt"];
  $dtaltreg = $_POST["dtaltreg"];
  
  if ($nmcidade =='')
  {
      print "A cidade é obrigatória!";
  }
  elseif ($sgestado =='Selecione')
  {
      print "Selecione o estado corretamente!";
  }
  elseif ($operacao == "excluir")       
  {
    mysql_query("DELETE FROM tbcidade WHERE cdcidade = $codigo") or die ("Não foi possível excluir.");
    print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  elseif ($operacao == "alterar")
  {
      mysql_query("SET NAMES UTF8");
      $sql =  "UPDATE tbcidade SET 
      nmcidade = '$nmcidade',
      sgestado = '$sgestado',
      cdusuinc = '$cdusuinc', 
      dtincreg = now(),
      cdusualt = '$cdusualt',
      dtaltreg = now()
      WHERE cdcidade = '$codigo'";
      mysql_query($sql) or die ("Não foi possível alterar.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  else
  {
      mysql_query("SET NAMES UTF8");
      $sql = "INSERT INTO tbcidade (cdcidade, nmcidade, sgestado, cdusuinc, dtincreg, cdusualt, dtaltreg) values ('','$nmcidade', '$sgestado', '$cdusuinc', now(), '$cdusualt', now())";
      mysql_query ($sql) or die ("Não foi possível incluir.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
Formulário para pesquisar cidade:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pesquisar Cidade</title>
<style type="text/css">
.subtitulo {
    color: #FFF;
    font-weight: bold;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
</style>
</head>

<body>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"><strong>Pesquisar Cidade</strong></td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
  <form action="" method="get" name="pesquisa_cidade">
    <td width="16%" align="center" bgcolor="#EEEEEE"> Digite o Código </td>
    <td width="14%" align="center" bgcolor="#EEEEEE"><input name="codigo" type="text" id="pesq_codigo" size="12" maxlength="12" /></td>
    <td width="33%" bgcolor="#EEEEEE" align="right"><label for="pesq_cidade">Digite a Cidade</label></td>
    <td width="23%" bgcolor="#EEEEEE"><input name="cidade" type="text" id="pesquisa_cidade" size="20" maxlength="20" align="center" /></td>
    <td width="14%" bgcolor="#EEEEEE"><input type = "submit" name="pesquisar" value="Pesquisar" align="right" />
    <input name="operacao" type = "hidden"  id="operacao" value="<? echo $operacao ?>">
    <input name="link" type = "hidden"  id="link" value="7"></td>    
    </form>
  </tr>
  <tr>
    <td colspan="5" align="right" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center"><table width="100%" border="0" align="center" cellpadding="0">
      <tr class="subtitulo">
        <td width="38%" align="center" bgcolor="#000066">Código </td>
        <td width="50%" align="center" bgcolor="#000066">Cidade</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Estado</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Opção </td>
      </tr>
  <?PHP
    $codigo = $_GET["codigo"];
    $cidade = $_GET["cidade"];
    
    mysql_query("SET NAMES UTF8");    
    if ($codigo != "")
    {
      $sql = "SELECT * FROM tbcidade WHERE cdcidade LIKE '$codigo' ORDER BY cdcidade";
    }
    elseif ($cidade!= "")
    {
      $sql = "SELECT * FROM tbcidade WHERE nmcidade LIKE '%$cidade%' ORDER BY nmcidade";
    }
    else
    {
      $sql = "SELECT * FROM tbcidade limit 0,300";
    }
    $dados = mysql_query($sql);
    $linha = 0;
    while ($linha < mysql_num_rows($dados))
    {
    ?>
       <tr bgcolor = "#87CEFA">
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, cdcidade) ?></font></td>   
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, nmcidade) ?></font></td>       
       <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?   
        print mysql_result ($dados, $linha, sgestado) ?></font></td>   
       <td><div align="center" > <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
    
    <? if ($operacao== "consultar")
       {
           $page = "principal.php?link=8";
       }
       else
       {
           $page = "principal.php?link=6";
       }
    ?>
       <a href = "<? echo "$page&operacao=$operacao&codigo=" .mysql_result ($dados, $linha, cdcidade) ?>"> <img src = "imagens/ok.png" width="20" border="0"></a></font></div></td>
       </tr>
       <? $linha +=1;
    } ?>
    </table></td>
    </tr>
    </table>
</body>
</html>
Formulário para visualizarmos dados da cidade. observação: esse formulário não é necessário porque os dados da cidade são poucos. Esse form é interessante quando você tem vários dados de cliente por exemplo que não cabem totalmente na pesquisa. Então você cria esse formulário para exibir os dados completos do cliente.
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
   
  if ($operacao!="")
  {
      mysql_query("SET NAMES UTF8");
      $sql="SELECT * FROM tbcidade WHERE cdcidade='$codigo'";
      $resultado = mysql_query($sql) or die ("Não foi possível executar a consulta.");
      $linha = mysql_fetch_array($resultado);
      $codigo = $linha[cdcidade];
      $cidade = $linha[nmcidade];
      $estado = $linha[sgestado];
  }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nova Cidade</title>
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action=""  name="frmver_cidade"><table width="70%" border="1" align="center">
  <tr>
    <td height="36" class="Titulo">Visualizar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
<table width="70%" border="1" align="center" cellpadding="4" cellspacing="0" >
  <tr>
      <td align="left" bgcolor="#EEEEEE"><span class="tituloinput">Código:<font color="#FF0000"> <? echo $codigo?></font></span></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#EEEEEE">Nome da Cidade: <font color="#FF0000"><? echo $cidade?></font></td>
      </tr>
      <tr>        
          <td align="left" bgcolor="#EEEEEE">Estado: <font color="#FF0000"><? echo $estado?></td>
      
      </tr>
   </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
</div>
      </tr>    
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0
A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Beleza. É isso mesmo que eu imaginava, só que não sei bem como montar isso. Um exemplo por mais simples que fosse já me ajudaria e muito.

O amigo poderia me passar um exemplo de como se faz isso?

Grato e aguardo retorno.

Rapaz, para postar um exemplo seria complicado. Porque o código que tenho envolve vários formulários e não daria para você entender. Se alguém possuir um bem simples é melhor.

Vou tentar te ajudar: é um cadastro de cidades apenas.

Formulário de cadastro de cidade:

<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";  
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
  
  if ($operacao != "")
  {
    mysql_query("SET NAMES UTF8");
    $sql = "SELECT * FROM tbcidade WHERE cdcidade = '$codigo'";
    $resultado = mysql_query($sql) or die ("Não; foi possível executar a consulta.");
    $linha = mysql_fetch_array($resultado);      
    $nmcidade = $linha[nmcidade];
    $sgestado = $linha[sgestado];
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar Cidade</title>
&lt;script language="javascript">
function validar()
{
    erro = 0;
    msg = "Erro no preenchimento do formulário:\n\n";
    if (frmcad_cidade.nmcidade.value == '')
    {
        msg +=  "O nome da cidade é obrigatório!";
        erro = 1;
    }
    if (frmcad_cidade.sgestado.value == 'selecione')
    {
        msg +=  "Selecione o estado corretamente!";
        erro = 1;
    }
    if (erro==1)
    {
        alert (msg);
        return false;
    }
}

function mudacor(ref,cor)
{
    ref.style.backgroundColor=cor;
}
</script>        
    
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action="rec_cad_cidade.php"  name="frmcad_cidade" onsubmit="return validar()"><table width="70%" border="0" align="center">
  <tr>
    <td height="36" class="Titulo">Cadastrar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
    <table width="70%" border="0" align="center">
      <tr style="text-align: center; color: #000;">
        <td> 
        <? if ($operacao == "alterar")
        {?>
          <input name="operacao" type ="hidden" id="operacao" value="alterar">
          <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
          <input name="confirmacao" type ="submit" value="Confirmação de alteração" border="0">
          <?
          } elseif ($operacao == "excluir")
          {?>
            <input name="operacao" type ="hidden" id="operacao" value="excluir">
            <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
            <input name="image" type="image"  src="imagens/excluir.png" width="35" height="35" border="0" >
          <?
          }
           elseif ($operacao=="consultar")
          {?>
             <a href="frmcad_cidade.php"><img src="Imagens/pesquisar.png" width="35" height="35" border="0" /></a>
             <?
             } else
             {?>
             <table cellspacing="5" align="center">
             <tr>
             <td height="21"><input name="imagefield" type="image" src="Imagens/Symbol-Add.png" width="35" height="35" border="0" /></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"></a></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"><img src="Imagens/pesquisar.png" alt="Pesquisar" width="35" height="35" border="0" /></a><a href = "principal.php?link=7&operacao=alterar"></a></td>
             <td> </td>
             <td><a href = "principal.php?link=7&operacao=alterar"><img src="Imagens/edit.png" alt="Editar" width="35" height="35" border="0" /></a></td>
             <td> </td>
              <td height="21"><a href = "principal.php?link=7&operacao=excluir"><img src="Imagens/excluir.png" width="35" height="35" border="0"></a></td>
             </tr>
              <tr>
                 <td align="center">Inserir</td>
                 <td align="center"> </td>
                 <td align="center">Pesquisar</td>
                 <td align="center"> </td>
                 <td align="center">Editar</td>
                 <td align="center"> </td>
                 <td align="center">Excluir</td>
               </tr>
             </table>
             <? } ?>
        </td>
      </tr>
    </table>
<table width="70%" border="0" align="center" cellpadding="4" cellspacing="0" >
      <tr>
        <td colspan="2" align="right"></td>
        </tr>
         <tr>
        <td width="38%" align="right" bgcolor="#EEEEEE"><span class="lblinput"><span class="tituloinput">Cidade</span></span><span class="tituloinput">:</span></td>
        <td width="62%" align="left" bgcolor="#EEEEEE"><input name="nmcidade" type="text" id="nmcidade" size="30" maxlength="30" onfocus="mudacor(this,'#EAF4FF')" onblur="mudacor(this,'#FFFFFF')" value="<? echo $nmcidade?>"/>
        <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo?>" />
        <span class="style1">*</span></td>
      </tr>
         <tr>
           <td align="right" bgcolor="#EEEEEE">Estado:</td>
           <td align="left" bgcolor="#EEEEEE">
           <?php
    $arrEstados = Array("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO" );
           ?>
           <select name="sgestado">
             <option value="">Selecione</option>
             <?php
               foreach($arrEstados as $estado)
               {
                  $selected = ($estado==$sgestado)?"selected":"";
                  echo("<option value='$estado' $selected>$estado</option>");
               }
            ?>           
          </select> <span class="style1">*</span>   
         </td>
         </tr>
     </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
    <table width="70%" border="0" cellspacing="1" cellpadding="0" align="center">
      <tr class="Titulo">
        <td width="20%">Código</td>
        <td width="60%">Cidade</td>
        <td width="20%">Estado</td>
      </tr>
      <tr>
      <?PHP
        mysql_query("SET NAMES UTF8");
        $sql = "SELECT * FROM tbcidade ORDER BY cdcidade";
        $query = mysql_query($sql);
        while ($resultado = mysql_fetch_array($query))
        {
          if ($bgcolor == "#87CEFA")
            $bgcolor = "#BFEFFF";
          else
            $bgcolor = "#87CEFA";
            
           echo "
           <tr bgcolor = '#87CEFA'>
           <td bgcolor =  \"$bgcolor\"> $resultado[cdcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[nmcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[sgestado] </td>
           </tr>";
        }
      ?>
        </td>
      </tr>
    </table>
    <p> </p>
</div>
      </tr>    
</form>
</body>
</html>
Formulário para receber o cadastro de cidade e inserir no banco:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc"; 
  
  $operacao = $_POST["operacao"];
  $codigo = $_POST["codigo"];
  
  $nmcidade = $_POST["nmcidade"];
  $sgestado = $_POST["sgestado"];
  $cdusuinc = $_POST["cdusuinc"];
  $dtincreg = $_POST["dtincreg"];
  $cdusualt = $_POST["cdusualt"];
  $dtaltreg = $_POST["dtaltreg"];
  
  if ($nmcidade =='')
  {
      print "A cidade é obrigatória!";
  }
  elseif ($sgestado =='Selecione')
  {
      print "Selecione o estado corretamente!";
  }
  elseif ($operacao == "excluir")       
  {
    mysql_query("DELETE FROM tbcidade WHERE cdcidade = $codigo") or die ("Não foi possível excluir.");
    print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  elseif ($operacao == "alterar")
  {
      mysql_query("SET NAMES UTF8");
      $sql =  "UPDATE tbcidade SET 
      nmcidade = '$nmcidade',
      sgestado = '$sgestado',
      cdusuinc = '$cdusuinc', 
      dtincreg = now(),
      cdusualt = '$cdusualt',
      dtaltreg = now()
      WHERE cdcidade = '$codigo'";
      mysql_query($sql) or die ("Não foi possível alterar.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  else
  {
      mysql_query("SET NAMES UTF8");
      $sql = "INSERT INTO tbcidade (cdcidade, nmcidade, sgestado, cdusuinc, dtincreg, cdusualt, dtaltreg) values ('','$nmcidade', '$sgestado', '$cdusuinc', now(), '$cdusualt', now())";
      mysql_query ($sql) or die ("Não foi possível incluir.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
Formulário para pesquisar cidade:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pesquisar Cidade</title>
<style type="text/css">
.subtitulo {
    color: #FFF;
    font-weight: bold;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
</style>
</head>

<body>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"><strong>Pesquisar Cidade</strong></td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
  <form action="" method="get" name="pesquisa_cidade">
    <td width="16%" align="center" bgcolor="#EEEEEE"> Digite o Código </td>
    <td width="14%" align="center" bgcolor="#EEEEEE"><input name="codigo" type="text" id="pesq_codigo" size="12" maxlength="12" /></td>
    <td width="33%" bgcolor="#EEEEEE" align="right"><label for="pesq_cidade">Digite a Cidade</label></td>
    <td width="23%" bgcolor="#EEEEEE"><input name="cidade" type="text" id="pesquisa_cidade" size="20" maxlength="20" align="center" /></td>
    <td width="14%" bgcolor="#EEEEEE"><input type = "submit" name="pesquisar" value="Pesquisar" align="right" />
    <input name="operacao" type = "hidden"  id="operacao" value="<? echo $operacao ?>">
    <input name="link" type = "hidden"  id="link" value="7"></td>    
    </form>
  </tr>
  <tr>
    <td colspan="5" align="right" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center"><table width="100%" border="0" align="center" cellpadding="0">
      <tr class="subtitulo">
        <td width="38%" align="center" bgcolor="#000066">Código </td>
        <td width="50%" align="center" bgcolor="#000066">Cidade</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Estado</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Opção </td>
      </tr>
  <?PHP
    $codigo = $_GET["codigo"];
    $cidade = $_GET["cidade"];
    
    mysql_query("SET NAMES UTF8");    
    if ($codigo != "")
    {
      $sql = "SELECT * FROM tbcidade WHERE cdcidade LIKE '$codigo' ORDER BY cdcidade";
    }
    elseif ($cidade!= "")
    {
      $sql = "SELECT * FROM tbcidade WHERE nmcidade LIKE '%$cidade%' ORDER BY nmcidade";
    }
    else
    {
      $sql = "SELECT * FROM tbcidade limit 0,300";
    }
    $dados = mysql_query($sql);
    $linha = 0;
    while ($linha < mysql_num_rows($dados))
    {
    ?>
       <tr bgcolor = "#87CEFA">
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, cdcidade) ?></font></td>   
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, nmcidade) ?></font></td>       
       <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?   
        print mysql_result ($dados, $linha, sgestado) ?></font></td>   
       <td><div align="center" > <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
    
    <? if ($operacao== "consultar")
       {
           $page = "principal.php?link=8";
       }
       else
       {
           $page = "principal.php?link=6";
       }
    ?>
       <a href = "<? echo "$page&operacao=$operacao&codigo=" .mysql_result ($dados, $linha, cdcidade) ?>"> <img src = "imagens/ok.png" width="20" border="0"></a></font></div></td>
       </tr>
       <? $linha +=1;
    } ?>
    </table></td>
    </tr>
    </table>
</body>
</html>
Formulário para visualizarmos dados da cidade. observação: esse formulário não é necessário porque os dados da cidade são poucos. Esse form é interessante quando você tem vários dados de cliente por exemplo que não cabem totalmente na pesquisa. Então você cria esse formulário para exibir os dados completos do cliente.
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
   
  if ($operacao!="")
  {
      mysql_query("SET NAMES UTF8");
      $sql="SELECT * FROM tbcidade WHERE cdcidade='$codigo'";
      $resultado = mysql_query($sql) or die ("Não foi possível executar a consulta.");
      $linha = mysql_fetch_array($resultado);
      $codigo = $linha[cdcidade];
      $cidade = $linha[nmcidade];
      $estado = $linha[sgestado];
  }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nova Cidade</title>
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action=""  name="frmver_cidade"><table width="70%" border="1" align="center">
  <tr>
    <td height="36" class="Titulo">Visualizar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
<table width="70%" border="1" align="center" cellpadding="4" cellspacing="0" >
  <tr>
      <td align="left" bgcolor="#EEEEEE"><span class="tituloinput">Código:<font color="#FF0000"> <? echo $codigo?></font></span></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#EEEEEE">Nome da Cidade: <font color="#FF0000"><? echo $cidade?></font></td>
      </tr>
      <tr>        
          <td align="left" bgcolor="#EEEEEE">Estado: <font color="#FF0000"><? echo $estado?></td>
      
      </tr>
   </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
</div>
      </tr>    
</form>
</body>
</html>

Poxa, super legal!

Aparentemente o seu exemplo é o que eu procurava mesmo, e com certeza o mesmo vai me ajudar muito.

Vou coloca-lo para funcionar e em seguida dou retorno.

Muito obrigado pela sua valiosa atenção.

Um forte abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
A estrutura da página seria o formulário e no topo do formulário um campo de text e um botão de pesquisa do lado. Ao digitar algo no campo e clicar no botão pesquisar, você utilizaria ajax para fazer a consulta no banco e retornar os dados para o formulário sem sair e sem recarregar a página.

Beleza. É isso mesmo que eu imaginava, só que não sei bem como montar isso. Um exemplo por mais simples que fosse já me ajudaria e muito.

O amigo poderia me passar um exemplo de como se faz isso?

Grato e aguardo retorno.

Rapaz, para postar um exemplo seria complicado. Porque o código que tenho envolve vários formulários e não daria para você entender. Se alguém possuir um bem simples é melhor.

Vou tentar te ajudar: é um cadastro de cidades apenas.

Formulário de cadastro de cidade:

<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";  
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
  
  if ($operacao != "")
  {
    mysql_query("SET NAMES UTF8");
    $sql = "SELECT * FROM tbcidade WHERE cdcidade = '$codigo'";
    $resultado = mysql_query($sql) or die ("Não; foi possível executar a consulta.");
    $linha = mysql_fetch_array($resultado);      
    $nmcidade = $linha[nmcidade];
    $sgestado = $linha[sgestado];
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrar Cidade</title>
&lt;script language="javascript">
function validar()
{
    erro = 0;
    msg = "Erro no preenchimento do formulário:\n\n";
    if (frmcad_cidade.nmcidade.value == '')
    {
        msg +=  "O nome da cidade é obrigatório!";
        erro = 1;
    }
    if (frmcad_cidade.sgestado.value == 'selecione')
    {
        msg +=  "Selecione o estado corretamente!";
        erro = 1;
    }
    if (erro==1)
    {
        alert (msg);
        return false;
    }
}

function mudacor(ref,cor)
{
    ref.style.backgroundColor=cor;
}
</script>        
    
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action="rec_cad_cidade.php"  name="frmcad_cidade" onsubmit="return validar()"><table width="70%" border="0" align="center">
  <tr>
    <td height="36" class="Titulo">Cadastrar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
    <table width="70%" border="0" align="center">
      <tr style="text-align: center; color: #000;">
        <td> 
        <? if ($operacao == "alterar")
        {?>
          <input name="operacao" type ="hidden" id="operacao" value="alterar">
          <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
          <input name="confirmacao" type ="submit" value="Confirmação de alteração" border="0">
          <?
          } elseif ($operacao == "excluir")
          {?>
            <input name="operacao" type ="hidden" id="operacao" value="excluir">
            <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo ?>">
            <input name="image" type="image"  src="imagens/excluir.png" width="35" height="35" border="0" >
          <?
          }
           elseif ($operacao=="consultar")
          {?>
             <a href="frmcad_cidade.php"><img src="Imagens/pesquisar.png" width="35" height="35" border="0" /></a>
             <?
             } else
             {?>
             <table cellspacing="5" align="center">
             <tr>
             <td height="21"><input name="imagefield" type="image" src="Imagens/Symbol-Add.png" width="35" height="35" border="0" /></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"></a></td>
             <td height="21"><a href = "principal.php?link=7&operacao=consultar"><img src="Imagens/pesquisar.png" alt="Pesquisar" width="35" height="35" border="0" /></a><a href = "principal.php?link=7&operacao=alterar"></a></td>
             <td> </td>
             <td><a href = "principal.php?link=7&operacao=alterar"><img src="Imagens/edit.png" alt="Editar" width="35" height="35" border="0" /></a></td>
             <td> </td>
              <td height="21"><a href = "principal.php?link=7&operacao=excluir"><img src="Imagens/excluir.png" width="35" height="35" border="0"></a></td>
             </tr>
              <tr>
                 <td align="center">Inserir</td>
                 <td align="center"> </td>
                 <td align="center">Pesquisar</td>
                 <td align="center"> </td>
                 <td align="center">Editar</td>
                 <td align="center"> </td>
                 <td align="center">Excluir</td>
               </tr>
             </table>
             <? } ?>
        </td>
      </tr>
    </table>
<table width="70%" border="0" align="center" cellpadding="4" cellspacing="0" >
      <tr>
        <td colspan="2" align="right"></td>
        </tr>
         <tr>
        <td width="38%" align="right" bgcolor="#EEEEEE"><span class="lblinput"><span class="tituloinput">Cidade</span></span><span class="tituloinput">:</span></td>
        <td width="62%" align="left" bgcolor="#EEEEEE"><input name="nmcidade" type="text" id="nmcidade" size="30" maxlength="30" onfocus="mudacor(this,'#EAF4FF')" onblur="mudacor(this,'#FFFFFF')" value="<? echo $nmcidade?>"/>
        <input name="codigo" type="hidden" id="codigo" value="<? echo $codigo?>" />
        <span class="style1">*</span></td>
      </tr>
         <tr>
           <td align="right" bgcolor="#EEEEEE">Estado:</td>
           <td align="left" bgcolor="#EEEEEE">
           <?php
    $arrEstados = Array("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO" );
           ?>
           <select name="sgestado">
             <option value="">Selecione</option>
             <?php
               foreach($arrEstados as $estado)
               {
                  $selected = ($estado==$sgestado)?"selected":"";
                  echo("<option value='$estado' $selected>$estado</option>");
               }
            ?>           
          </select> <span class="style1">*</span>   
         </td>
         </tr>
     </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
    <table width="70%" border="0" cellspacing="1" cellpadding="0" align="center">
      <tr class="Titulo">
        <td width="20%">Código</td>
        <td width="60%">Cidade</td>
        <td width="20%">Estado</td>
      </tr>
      <tr>
      <?PHP
        mysql_query("SET NAMES UTF8");
        $sql = "SELECT * FROM tbcidade ORDER BY cdcidade";
        $query = mysql_query($sql);
        while ($resultado = mysql_fetch_array($query))
        {
          if ($bgcolor == "#87CEFA")
            $bgcolor = "#BFEFFF";
          else
            $bgcolor = "#87CEFA";
            
           echo "
           <tr bgcolor = '#87CEFA'>
           <td bgcolor =  \"$bgcolor\"> $resultado[cdcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[nmcidade] </td>
           <td bgcolor = \"$bgcolor\"> $resultado[sgestado] </td>
           </tr>";
        }
      ?>
        </td>
      </tr>
    </table>
    <p> </p>
</div>
      </tr>    
</form>
</body>
</html>
Formulário para receber o cadastro de cidade e inserir no banco:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc"; 
  
  $operacao = $_POST["operacao"];
  $codigo = $_POST["codigo"];
  
  $nmcidade = $_POST["nmcidade"];
  $sgestado = $_POST["sgestado"];
  $cdusuinc = $_POST["cdusuinc"];
  $dtincreg = $_POST["dtincreg"];
  $cdusualt = $_POST["cdusualt"];
  $dtaltreg = $_POST["dtaltreg"];
  
  if ($nmcidade =='')
  {
      print "A cidade é obrigatória!";
  }
  elseif ($sgestado =='Selecione')
  {
      print "Selecione o estado corretamente!";
  }
  elseif ($operacao == "excluir")       
  {
    mysql_query("DELETE FROM tbcidade WHERE cdcidade = $codigo") or die ("Não foi possível excluir.");
    print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  elseif ($operacao == "alterar")
  {
      mysql_query("SET NAMES UTF8");
      $sql =  "UPDATE tbcidade SET 
      nmcidade = '$nmcidade',
      sgestado = '$sgestado',
      cdusuinc = '$cdusuinc', 
      dtincreg = now(),
      cdusualt = '$cdusualt',
      dtaltreg = now()
      WHERE cdcidade = '$codigo'";
      mysql_query($sql) or die ("Não foi possível alterar.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
  else
  {
      mysql_query("SET NAMES UTF8");
      $sql = "INSERT INTO tbcidade (cdcidade, nmcidade, sgestado, cdusuinc, dtincreg, cdusualt, dtaltreg) values ('','$nmcidade', '$sgestado', '$cdusuinc', now(), '$cdusualt', now())";
      mysql_query ($sql) or die ("Não foi possível incluir.");
      print "&lt;script type='text/javascript'> location.href = 'principal.php?link=9'</script>";
  }
Formulário para pesquisar cidade:
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pesquisar Cidade</title>
<style type="text/css">
.subtitulo {
    color: #FFF;
    font-weight: bold;
}
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
</style>
</head>

<body>
<table width="70%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"><strong>Pesquisar Cidade</strong></td>
  </tr>
  <tr>
    <td colspan="5" align="center" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
  <form action="" method="get" name="pesquisa_cidade">
    <td width="16%" align="center" bgcolor="#EEEEEE"> Digite o Código </td>
    <td width="14%" align="center" bgcolor="#EEEEEE"><input name="codigo" type="text" id="pesq_codigo" size="12" maxlength="12" /></td>
    <td width="33%" bgcolor="#EEEEEE" align="right"><label for="pesq_cidade">Digite a Cidade</label></td>
    <td width="23%" bgcolor="#EEEEEE"><input name="cidade" type="text" id="pesquisa_cidade" size="20" maxlength="20" align="center" /></td>
    <td width="14%" bgcolor="#EEEEEE"><input type = "submit" name="pesquisar" value="Pesquisar" align="right" />
    <input name="operacao" type = "hidden"  id="operacao" value="<? echo $operacao ?>">
    <input name="link" type = "hidden"  id="link" value="7"></td>    
    </form>
  </tr>
  <tr>
    <td colspan="5" align="right" bgcolor="#EEEEEE"> </td>
  </tr>
  <tr>
    <td colspan="5" align="center"><table width="100%" border="0" align="center" cellpadding="0">
      <tr class="subtitulo">
        <td width="38%" align="center" bgcolor="#000066">Código </td>
        <td width="50%" align="center" bgcolor="#000066">Cidade</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Estado</td>
        <td width="12%" bgcolor="#000066" class="subtitulo">Opção </td>
      </tr>
  <?PHP
    $codigo = $_GET["codigo"];
    $cidade = $_GET["cidade"];
    
    mysql_query("SET NAMES UTF8");    
    if ($codigo != "")
    {
      $sql = "SELECT * FROM tbcidade WHERE cdcidade LIKE '$codigo' ORDER BY cdcidade";
    }
    elseif ($cidade!= "")
    {
      $sql = "SELECT * FROM tbcidade WHERE nmcidade LIKE '%$cidade%' ORDER BY nmcidade";
    }
    else
    {
      $sql = "SELECT * FROM tbcidade limit 0,300";
    }
    $dados = mysql_query($sql);
    $linha = 0;
    while ($linha < mysql_num_rows($dados))
    {
    ?>
       <tr bgcolor = "#87CEFA">
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, cdcidade) ?></font></td>   
       <td> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <?
       print mysql_result ($dados, $linha, nmcidade) ?></font></td>       
       <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><?   
        print mysql_result ($dados, $linha, sgestado) ?></font></td>   
       <td><div align="center" > <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
    
    <? if ($operacao== "consultar")
       {
           $page = "principal.php?link=8";
       }
       else
       {
           $page = "principal.php?link=6";
       }
    ?>
       <a href = "<? echo "$page&operacao=$operacao&codigo=" .mysql_result ($dados, $linha, cdcidade) ?>"> <img src = "imagens/ok.png" width="20" border="0"></a></font></div></td>
       </tr>
       <? $linha +=1;
    } ?>
    </table></td>
    </tr>
    </table>
</body>
</html>
Formulário para visualizarmos dados da cidade. observação: esse formulário não é necessário porque os dados da cidade são poucos. Esse form é interessante quando você tem vários dados de cliente por exemplo que não cabem totalmente na pesquisa. Então você cria esse formulário para exibir os dados completos do cliente.
<?PHP
  include "valida_cookie.php";
  include "conecta_mysql.inc";
  $operacao = $_GET["operacao"];
  $codigo = $_GET["codigo"];
   
  if ($operacao!="")
  {
      mysql_query("SET NAMES UTF8");
      $sql="SELECT * FROM tbcidade WHERE cdcidade='$codigo'";
      $resultado = mysql_query($sql) or die ("Não foi possível executar a consulta.");
      $linha = mysql_fetch_array($resultado);
      $codigo = $linha[cdcidade];
      $cidade = $linha[nmcidade];
      $estado = $linha[sgestado];
  }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nova Cidade</title>
<link rel="stylesheet" href="estilo.css" type="text/css"  media="screen" >
</head>
<body>
<form method="post" action=""  name="frmver_cidade"><table width="70%" border="1" align="center">
  <tr>
    <td height="36" class="Titulo">Visualizar Cidade</td>
  </tr>
</table>
  <div id="botoes"></div>
  <div id="descricao">
<table width="70%" border="1" align="center" cellpadding="4" cellspacing="0" >
  <tr>
      <td align="left" bgcolor="#EEEEEE"><span class="tituloinput">Código:<font color="#FF0000"> <? echo $codigo?></font></span></td>
      </tr>
      <tr>
        <td align="left" bgcolor="#EEEEEE">Nome da Cidade: <font color="#FF0000"><? echo $cidade?></font></td>
      </tr>
      <tr>        
          <td align="left" bgcolor="#EEEEEE">Estado: <font color="#FF0000"><? echo $estado?></td>
      
      </tr>
   </table>    
    <table width="70%" border="0" align="center" class="descricao">
  <tr>  
   </tr>
</table>
</div>
      </tr>    
</form>
</body>
</html>

Poxa, super legal!

Aparentemente o seu exemplo é o que eu procurava mesmo, e com certeza o mesmo vai me ajudar muito.

Vou coloca-lo para funcionar e em seguida dou retorno.

Muito obrigado pela sua valiosa atenção.

Um forte abraço.

Olá,

Não é isso que eu necessito não. Vou pegar o seu exemplo com base, tá?

É o seguinte: Quando o usuário for incluir uma nova CIDADE o campo/tag input verificasse logo após a saida ou durante a edição no mesmo se a nova cidade a ser incluída já existe, e se sim, não prosseguir. O segundo momento em um cadastro de clientes quando o usuário for incluir a cidade (campo/tag input) o mesmo verificasse se a CIDADE digitada já está cadastrada anteriormente, se sim, prossegue. Nesse caso o usuário poderia ter um HELP para pesquisa o nome correto da cidade em questão e conseguentemente capturar essa informação e já coloca-la no novo cadastro em edição mediante seleção do usuário.

Bem, é isso. Se o amigo poder ajudar ficarei extremamente grato.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom...

A forma mais fácil de fazer isso, é que seja feita estas verificações apenas depois de clicar em um input button/submit, que não precisa de nada além de php.

Vou de dar um exemplo:

primeiro é preciso criar o banco de dados.

CREATE TABLE `cidades` (
  `id` int(11) NOT NULL auto_increment,
  `cidade` text NOT NULL,
  `dados` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
A página index.php
<?php
mysql_connect("locahost", "root", "");
mysql_select_db("cidades");
?>
<html>
<head>
<title></title>
</head>
<body>

<?php
if(isset($_GET['act'])){
if($_GET['act'] == 'buscar'){
?>

<form action="?act=buscar" method="get">
<center><b>Cidade:</b> <input type="text" name="cidade" />&nbsp;&nbsp;<input type="submit" value="Buscar" /></center>
</form>
<hr />

<?php

$sql = mysql_query("SELECT * FROM cidades WHERE cidade = '$_GET[palavra]'");
if(mysql_num_rows($query) > 0){
while($var = mysql_fetch_array($sql)){

echo '<b>'.$var[cidade].'</b><br />'.$var[dados].'<hr />';
}
}else{
echo '<h2>Não existem cidades com este nome.</h2>';
}

}

if($_GET['act'] == 'adicionar'){

?>


<form action="?act=adicionar" method="get">
<center><b>Nome da cidade:</b> <input type="text" name="cidade" /><br /><b>Dados:</b><textarea name="dados"></textarea><br /><input type="submit" value="Inserir" /></center>
</form>
<hr />

<?php

$sql = mysql_query("SELECT * FROM cidades WHERE cidade = '$_GET[cidade]'");
if(mysql_num_rows($query) > 0){
echo '<h2>Esta cidade já está cadastrada.</h2>';
}else{
$insert = mysql_query("INSERT INTO cidades (id, cidade, dados) VALUES ('', '$_GET[cidade]', '$_GET[dados]')");
if($insert > 0){
echo '<h2>Cidade inserida com sucesso.</h2>';
}else{
echo '<h2>Erro ao inserir cidade.</h2>';
}
}

}

}else{
?>

<form action="?act=buscar" method="get">
<center><b>Cidade:</b> <input type="text" name="cidade" />&nbsp;&nbsp;<input type="submit" value="Buscar" /></center>
</form>
<hr />

<?php 
}

</body>
</html>

Aparentement está funcionando, você só precisa criar seu banco, a tabela com aquele comando que postei no inicio do post, criar uma página com este código que postei e editar os dados da conexão.

Abraços

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Fiz um exemplo bem básico, com um formulário de login e senha. A pessoa digita um 'login' no campo Login e quando este campo perder o foco, vai ser feito a requisição ajax para verificar se o usuário já existe e exibir a mensagem "Login disponível" ou "Login indisponível".

É bem básico, utilizei jQuery, que é um framework para javascript, dê uma lida sobre ele também pois vai te ajudar muito!

Qualquer dúvida, posta aí...

obs: evite dar quote na mensagem anterior ao seu post, principalmente quando ela for muuiito grande hehe

obs2: no banco já tem cadastrados os usuários 'stoma' e 'teste', quando entrar com esses 2 logins no formulário, aparecerá outra mensagem...

Link do código fonte: http://mouseinformatica.com.br/teste.rar

Ou o código funcionando: http://mouseinformatica.com.br/teste.php

banco de dados (mysql)

CREATE DATABASE `teste`;

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `login` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;

INSERT INTO `usuarios` (`id`, `login`) VALUES (1, 'teste'), (2, 'stoma');
ajax.php
<?php

    if($_POST){
        switch($_POST['action']){
            case 'verificaLoginExistente':
                /*
                 * Aqui você deverá executar a consulta no banco para saber se o login ou cidade ou o que seja existe, e se
                 * for retornar algo não use return e sim echo.
                 * Aqui somente fiz a conexão ao banco
                 */
                mysql_connect("localhost", "root", "");
                mysql_select_db("teste");
            
                // Executo a consulta
                $login = $_POST['login'];
                $sql = "SELECT login FROM usuarios WHERE login = '$login' ";
                $rs = mysql_query($sql);
                
                // Se foi retornado alguma linha, então é porque o login já existe
                $return = (mysql_num_rows($rs))?"Login não disponível":"Login disponível";
                
                // Devolve o resultado
                echo $return;
            break;
        }
    }

?>
style.css
*{
    margin: 0;
    padding: 0;
}

#formulario{
    width: 400px;
    height: 200px;
    border: 1px solid black;
    position: absolute;
    left: 50%;
    margin-left: -200px;
    top: 50%;
    margin-top: -150px;
    text-align: center;
    background-color: #DCDCDC;
}

#camposFormulario{
    font: 12px Tahoma;
}

#divLogin{
    width: 100%;
    height: auto;
    margin-top: 40px;
    margin-left: 10px;
    float: left;
    text-align: left;
    margin-left: 90px;
}

#divSenha{
    text-align: left;
    margin-left: 85px;
}

#divResultadoLogin{
    display: inline;
}

.destaque{
    color: red;
}
teste.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>Teste</title>
        <!-- CSS -->
        <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
        <!--
            Aqui importo o jQuery que está hospedado no google, o melhor seria você fazer o download dele 
            e salvar no seu computador, assim não terá nenhuma tipo de problema
        -->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
    </head>

    <body>
        <div>
            <form id="formulario" action="teste.php" method="post">
                <div id="camposFormulario">
                    <h1><span>Teste de AJAX</span></h1>
                    <hr/>
                    <div id="divLogin">
                        <label for="login">Login: </label><input type="text" id="login"/>
                        <div id="divResultadoLogin" style=""></div><br/>
                    </div>
                    <div id="divSenha">
                        <label for="senha">Senha: </label><input type="password" id="senha"/>
                    </div>
                </div>
                <br></br>
                <input type="submit" id="enviar" value="Enviar"/>
            </form>
        </div>
        
        <script type="text/javascript">
            // Quando o documento estiver pronto
            $(document).ready(function(){
                // Quando o campo com ID 'login' perder o foco
                $("#login").blur(function(){
                    // Se o campo estiver em branco não faz nada
                    if($("#login").val()=="") return false;
                    
                    /*
                     * Aqui faço a requisição ajax para verificar se o login já existe
                      * Primeiro é passado a página que vai ser chamada, depois os parâmetros e por
                      * último a função que vai ser executada quando receber o resultado
                     */
                    $.post(
                        "ajax.php",
                        {
                            action: 'verificaLoginExistente',
                            login: $("#login").val()
                        },
                        function(data){
                            // Coloca o resultado na div com ID 'divResultadoLogin'
                            $("#divResultadoLogin").html("<span class='destaque'>"+data+"</span>");
                        }
                    );
                });
            });
        </script>
    </body>
</html>

Editado por Stoma
Link para o comentário
Compartilhar em outros sites

  • 0
Olá!

Fiz um exemplo bem básico, com um formulário de login e senha. A pessoa digita um 'login' no campo Login e quando este campo perder o foco, vai ser feito a requisição ajax para verificar se o usuário já existe e exibir a mensagem "Login disponível" ou "Login indisponível".

É bem básico, utilizei jQuery, que é um framework para javascript, dê uma lida sobre ele também pois vai te ajudar muito!

Qualquer dúvida, posta aí...

obs: evite dar quote na mensagem anterior ao seu post, principalmente quando ela for muuiito grande hehe

obs2: no banco já tem cadastrados os usuários 'stoma' e 'teste', quando entrar com esses 2 logins no formulário, aparecerá outra mensagem...

Link do código fonte: http://mouseinformatica.com.br/teste.rar

Ou o código funcionando: http://mouseinformatica.com.br/teste.php

banco de dados (mysql)

CREATE DATABASE `teste`;

CREATE TABLE IF NOT EXISTS `usuarios` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `login` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;

INSERT INTO `usuarios` (`id`, `login`) VALUES (1, 'teste'), (2, 'stoma');
ajax.php
<?php

    if($_POST){
        switch($_POST['action']){
            case 'verificaLoginExistente':
                /*
                 * Aqui você deverá executar a consulta no banco para saber se o login ou cidade ou o que seja existe, e se
                 * for retornar algo não use return e sim echo.
                 * Aqui somente fiz a conexão ao banco
                 */
                mysql_connect("localhost", "root", "");
                mysql_select_db("teste");
            
                // Executo a consulta
                $login = $_POST['login'];
                $sql = "SELECT login FROM usuarios WHERE login = '$login' ";
                $rs = mysql_query($sql);
                
                // Se foi retornado alguma linha, então é porque o login já existe
                $return = (mysql_num_rows($rs))?"Login não disponível":"Login disponível";
                
                // Devolve o resultado
                echo $return;
            break;
        }
    }

?>
style.css
*{
    margin: 0;
    padding: 0;
}

#formulario{
    width: 400px;
    height: 200px;
    border: 1px solid black;
    position: absolute;
    left: 50%;
    margin-left: -200px;
    top: 50%;
    margin-top: -150px;
    text-align: center;
    background-color: #DCDCDC;
}

#camposFormulario{
    font: 12px Tahoma;
}

#divLogin{
    width: 100%;
    height: auto;
    margin-top: 40px;
    margin-left: 10px;
    float: left;
    text-align: left;
    margin-left: 90px;
}

#divSenha{
    text-align: left;
    margin-left: 85px;
}

#divResultadoLogin{
    display: inline;
}

.destaque{
    color: red;
}
teste.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <title>Teste</title>
        <!-- CSS -->
        <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
        <!--
            Aqui importo o jQuery que está hospedado no google, o melhor seria você fazer o download dele 
            e salvar no seu computador, assim não terá nenhuma tipo de problema
        -->
        &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
    </head>

    <body>
        <div>
            <form id="formulario" action="teste.php" method="post">
                <div id="camposFormulario">
                    <h1><span>Teste de AJAX</span></h1>
                    <hr/>
                    <div id="divLogin">
                        <label for="login">Login: </label><input type="text" id="login"/>
                        <div id="divResultadoLogin" style=""></div><br/>
                    </div>
                    <div id="divSenha">
                        <label for="senha">Senha: </label><input type="password" id="senha"/>
                    </div>
                </div>
                <br></br>
                <input type="submit" id="enviar" value="Enviar"/>
            </form>
        </div>
        
        &lt;script type="text/javascript">
            // Quando o documento estiver pronto
            $(document).ready(function(){
                // Quando o campo com ID 'login' perder o foco
                $("#login").blur(function(){
                    // Se o campo estiver em branco não faz nada
                    if($("#login").val()=="") return false;
                    
                    /*
                     * Aqui faço a requisição ajax para verificar se o login já existe
                      * Primeiro é passado a página que vai ser chamada, depois os parâmetros e por
                      * último a função que vai ser executada quando receber o resultado
                     */
                    $.post(
                        "ajax.php",
                        {
                            action: 'verificaLoginExistente',
                            login: $("#login").val()
                        },
                        function(data){
                            // Coloca o resultado na div com ID 'divResultadoLogin'
                            $("#divResultadoLogin").html("<span class='destaque'>"+data+"</span>");
                        }
                    );
                });
            });
        </script>
    </body>
</html>

Olá Stoma, Boa Tarde!

Toda ajuda será bem-vinda. De exemplos, em exemplos, mesmo que simples e pequenos, vou criando um consenso de como a coisa deve ser.

Pelo exemplo (link), aparentemente é isso mesmo que eu preciso. Vou tentar coloca o exemplo do amigo pra rodar e dou retorno.

Outra coisa: Dá pra criticar e não deixar o usário seguir em frente caso os dados não exista no banco, né? Do mesmo jeito como se faz em aplicações desktop.

Muito obrigado pela atenção e ajuda.

Abraço.

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