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

Ajuda Mysql


Guest --Eduardo --

Pergunta

Guest --Eduardo --

Olá, por favor alguém sabe me dizer como que eu faço para fazer uma consulta no mysql dinamicamente, por exemplo:

Eu to fazendo um cadastro e no meu cadastro no campo por exemplo gerencia eu tenho < select name= gerencia>

<option>gerencia 1</option>

<option>gerencia 2</option>

<option> gerencia n</option>

</selected>

e eu tenho os Setores < select name= setor>

<option>setor 1</option>

<option>setor 2</option>

<option> setor n</option>

</selected>

Gostaria de saber pra que quando eu escolhesse minha Gerencia, apareca somente os setores que fazem parte dessa gerencia.

alguém pode me dar uma luz como que posso fazer isso?? Obrigado! obs. a Página cadastro está em html, que direciona para inserir.php

Obrigado!

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
<select name= "gerencia" onChange="document.form.submit();">
<option>gerencia 1</option>
<option>gerencia 2</option>
<option> gerencia n</option>
</select>
<select name= "setor">
<option value="">Selecione o setor</option>
<?php
$gerencia = $_POST['gerencia'];
$sql = mysql_query("SELECT setor FROM tabela WHERE gerencia = '$gerencia'");
$linhas = mysql_num_rows($sql);
for($i=0;$i<$linhas;$i++)
{
     $setor = mysql_result($sql,$i,"setor");
     echo "<option value=".$setor.">".$setor."</option>";
}
?>
</select>

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

Cara, n entendi direito isso..

o que significa onchange? e dpois que eu passo pra minha página php e faço a busca no banco, como que retorna para a pagina html que eu estava com todos os dados???

Se puder explicar, eu agradeco.

vlw

Link para o comentário
Compartilhar em outros sites

  • 0

onChange="document.form.submit()." significa que o formulário será submetido quando o usuário alterar o valor do select.

Se você pretende mostrar os dados em uma página HTML esqueça. Ela não será capaz de pegar os dados no banco e deixar os campos com os valores desses dados. Faça tudo em PHP.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

não precisa criar uma outra pagina para isso? tipo como usamos o <form name="form1" method = "post" action = "pagina.php">, eles faz tudo da miha pagina php então?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

Olá, não consegui

aqui esta o codigo

<select name= "gerencia" onChange="document.form.submit();">

<option selected="selected">GPREV </option>

<option >gerencia1</option>

<option>gerencia2 </option>

<option>gerencia3 </option>

<option>gerencia4</option>

<option>gerencia5</option>

<option>gerencia6</option>

</select>

</div>

<select name = "setor">

<option value=""> Setores </option>

<?

$conec;

$bco;

$conectou = 0;

$gerencia = $_POST['gerencia'];

echo $gerencia;

include "conexao.php";

if($conectou) {

$sql = mysql_query("SELECT setor FROM gerencias WHERE gerencia = '$gerencia'");

$linhas = mysql_num_rows($sql);

for($i=0;$i<$linhas;$i++)

{

$setor = mysql_result($sql,$i,"setor");

echo "<option value=".$setor.">".$setor."</option>";

}

}

?>

</select>

não sei onde eu estou errando, mas quando seleciono a minha "gerencia"não acontece nd...

Link para o comentário
Compartilhar em outros sites

  • 0

Mude ...

<select name= "gerencia" onChange="document.form.submit();">
<option selected="selected">GPREV </option>
<option >gerencia1</option>
<option>gerencia2 </option>
<option>gerencia3 </option>
<option>gerencia4</option>
<option>gerencia5</option>
<option>gerencia6</option>
</select>
Para ...
<select name= "gerencia" onChange="document.form.submit();">
<option selected="selected">GPREV </option>
<option value="gerencia1">gerencia1</option>
<option value="gerencia2">gerencia2 </option>
<option value="gerencia3">gerencia3 </option>
<option value="gerencia4">gerencia4</option>
<option value="gerencia5">gerencia5</option>
<option value="gerencia6">gerencia6</option>
</select>

Como está a sua tag form? Coloque-a por favor.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

Esta assim <form name="form1" method = "post" action = "validagerencia.php">

mas c não disse que eu posso fazer tudo em uma unica pagina???

abraco

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, vamos ver ... quando você coloca

echo $gerencia;

o sistema mostra alguma coisa na tela?

Suponhamos que seja escolhida a gerencia2. Você já testou no banco para saber se fazendo o SQL (SELECT setor FROM gerencias WHERE gerencia = 'gerencia2') direto por ele retorna algum registro?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

Eu já testei, quando eu imprimo echo gerencia, não aparece nada... e se eu digitar o comando no banco, ele retorna os valores certo, algora o que está acontecendo é que quando escolho alguma gerencia, não acontece nada, como se não tivesse submetido, entende? que será que eu preciso fazer?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

AHH,,, olha só, eu coloquei um input para enviar os dados e deu certo, mas tem como eu fazer sem precisa eu clicar em nd.... so em ao selecionar ele me mostrar as opcoes?

Link para o comentário
Compartilhar em outros sites

  • 0

É exatamente o onChange() que faz isso. Quando você selecionar uma opção ele dá o submit no formulário.

<select name= "gerencia" onChange="document.form1.submit();">
<option value="">GPREV </option>
<option value="gerencia1">gerencia1</option>
<option value="gerencia2">gerencia2 </option>
<option value="gerencia3">gerencia3 </option>
<option value="gerencia4">gerencia4</option>
<option value="gerencia5">gerencia5</option>
<option value="gerencia6">gerencia6</option>
</select>

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

  • 0
Guest --Eduardo --

Eu posso ter mas de um form em uma unica pagina??

porque tipo, antes de mandar os dados para uma pagina que va inserir tudo no banco, eu quero fazer essa opcao???

tem como???

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

é porque está dando erro aqui, na hora de enviar para o form que eu quero.... dxa eu te mostrar

eu tenho 2 forms

é que eu estava fazendo os testes que você estava postando em uma outra pagina pra eu não mexer na minha..

mas nessa minha pagina fmcadastro.php eu tenho 2 forms

<form name="form1" method = "post" action = "validacadastro.php">// manda todos os dados para serem incluidos no banco

<form name="form2" method = "post" action = "fmcadastro.php"> // essa que a do onChange

<select name= "txgerencia" onChange="document.form2.submit();">

<option selected="selected">Gerencia </option>

<option value="GPREV">GPREV </option>

<option value="GETEC">GETEC </option>

<option value="GERAF" >GERAF </option>

<option value= "GEJUR">GEJUR </option>

<option value= "GADIR">GADIR</option>

<option value= "DIRAF">DIRAF</option>

<option value= "PRESI">PRESI</option>

</select>

</div>

<div id="Layer46"><span class="style1"><strong>Usuário:</strong></span>

<input type= "text" name="txusuario" size="30" maxlength="30" value = "<? echo $usuario;?> " />

</div>

<div id="Layer44"><span class="style1"><strong>Setor:</strong></span>

<select name = "txsetor">

<option value=""> Setores </option>

<?

$conec;

$bco;

$conectou = 0;

$gerencia = $_POST['txgerencia'];

include "conexao.php";

if($conectou) {

$sql = mysql_query("SELECT setor FROM gerencias WHERE gerencia = '$gerencia'");

$linhas = mysql_num_rows($sql);

for($i=0;$i<$linhas;$i++)

{

$setor = mysql_result($sql,$i,"setor");

echo "<option value=".$setor.">".$setor."</option>";

}

}

?>

</select>

</div>

<div id="Layer47">

<input type="submit" name="submit" value="Cadastrar" />

<input type="reset" name="submit2" value="Limpar" />

</div>

Assim que está esse código, aí quando eu seleciono a gerencia da erro na pagina, sendo que na outra pagina estava ok

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

olha só, eu mexendo por aqui, ate que deu certo, quando eu seleciono ele busca direitinho, o problema está que eu tenho 2 forms

<form name="form2" method = "post" action = "fmcadastro.php">

<form name="form1" method = "post" action = "validacadastro.php">// manda todos os dados para serem incluidos no banco

e os 2 submit que eu tenho aí, so direcionam para o primeiro form, se eu trocar a posicao dos forms, acontece a mesma coisa, sempre esta direcionando para os 2. como que eu faco para mudar isso?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

os forms estao assim

<form name="form2" method = "post" action = "fmcadastro.php">

<form name="form1" method = "post" action = "validacadastro.php">

eo select está assim, document.form2.submit();

e o meu input que é para enviar todos os dados para a pagina valida cadastro está assim.

<input type="submit" name="form1" value="Cadastrar" />

o problema é que se eu clicar em cadastrar ele direciona para o fmcadastro.php, o mesmo que o document.form2

se eu trocar a orderm dos forms e ficar assim:

<form name="form1" method = "post" action = "validacadastro.php">

<form name="form2" method = "post" action = "fmcadastro.php">

ele so direciona para o validacadastro, inclusivo no document.form2

aí, não seu o que está acontecendo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

Da erro na página. :(

não sei mas o que eu faço, eu acho que o problema é em desses forms

porque é o seguinte eu uso o dreamweaver e quando eu clico no form1

aparece a seguinte mensagem Invalid Markup, marked invalid becouse it's an overlapping or unclosed tag.

If the display looks correct , it is safe to delete these tags.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Eduardo --

<?

include ("valida_session.php");

include "cabecalho.php";

$equipamento = $_POST['txequipamento'];

$modelo= $_POST['txmodelo'];

$tombamento = $_POST['txtombamento'];

$serial = $_POST['txserial'];

$setor = $_POST['txsetor'];

$gerencia = $_POST['txgerencia'];

$status = $_POST['txstatus'];

$usuario = $_POST['txusuario'];

$equipamento = $equipamento;

$modelo= $modelo;

$tombamento = $tombamento;

$serial = $serial;

$setor = $setor;

$gerencia = $gerencia;

$status = $status;

$usuario = $usuario;

$data = date("d/m/Y H:i:s");

?>

<form name=form2" method = "post" action = "fmcadastro.php">

<form name="form1" method = "post" action = "validacadastro.php">

</p>

<div id="Layer39"><span class="style1"><strong>INFORME OS DADOS DO EQUIPAMENTO</strong><strong>: </strong></span></div>

<p class="style2"> </p>

<div id="Layer17"><strong><? echo ($data);?></strong></div>

<p> </p>

<div id="Layer38"><span class="style1"><strong>Equipamento: </strong></span>

<select name="txequipamento">

<option selected="selected"> </option>

<option >CPU </option>

<option>IMPRESSORA </option>

<option>MONITOR </option>

<option>MOUSE</option>

<option>NOTEBOOK</option>

<option>NOBREAK</option>

<option>TECLADO</option>

</select>

</div>

<p> </p>

<p> </p>

<p> </p>

<p> </p>

<div id="Layer40"><span class="style1"><strong>Modelo:</strong></span>

<input type= "text" name="txmodelo" size="15" maxlength="15" value = "<? echo strtoupper($modelo);?> " />

</div>

<p> </p>

<div id="Layer41"><span class="style1"><strong>Tombamento</strong>:</span>

<input type= "text" name="txtombamento" size="25" maxlength="25" value = "<? echo $tombamento;?> " />

</div>

<p> </p>

<p> </p>

<p> </p>

<div id="Layer42"><span class="style1"><strong>Serial:</strong></span>

<input type= "text" name="txserial" size="25" maxlength="25" value = "<? echo $serial;?> " />

</div>

<p> </p>

<div id="Layer43"><span class="style1"><strong>Status do Equipamento:</strong></span>

<select name="txstatus">

<option selected="selected"></option>

<option >OK </option>

<option>N OK </option>

<option>INSERVIVEL </option>

</select>

</div>

<div id="Layer45"><span class="style1"><strong>Gerência:</strong></span>

<select name= "txgerencia" onChange="document.form2.submit();">

<option selected="selected"> Gerencia </option>

<option value="GPREV">GPREV </option>

<option value="GETEC">GETEC </option>

<option value="GERAF" >GERAF </option>

<option value= "GEJUR">GEJUR </option>

<option value= "GADIR">GADIR</option>

<option value= "DIRAF">DIRAF</option>

<option value= "PRESI">PRESI</option>

</select>

</div>

<div id="Layer46"><span class="style1"><strong>Usuário:</strong></span>

<input type= "text" name="txusuario" size="30" maxlength="30" value = "<? echo $usuario;?> " />

</div>

<div id="Layer44"><span class="style1"><strong>Setor:</strong></span>

<select name = "txsetor">

<option value=""> Setores </option>

<?

$conec;

$bco;

$conectou = 0;

$gerencia = $_POST['txgerencia];

include "conexao.php";

if($conectou) {

$sql = mysql_query("SELECT setor FROM gerencias WHERE gerencia = '$gerencia'");

$linhas = mysql_num_rows($sql);

for($i=0;$i<$linhas;$i++)

{

$setor = mysql_result($sql,$i,"setor");

echo "<option value=".$setor.">".$setor."</option>";

}

}

?>

</select>

</div>

<div id="Layer47">

<input type="button" value="Cadastrar" onClick="document.form1.submit();">

<input type="reset" name="submit2" value="Limpar" />

</div>

</body>

aí está, dsculpa o trabalho!

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...