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

Puxar dados do banco de dados e exibir em um <SELECT>


buthy

Pergunta

Opa!

então, gostaria de saber como eu faço para puxar os dados do banco de dados, de um VARCHAR

e exibir esse dado em um <SELECT> <option></option> </SELECT>

o código é o seguinte:

<?
    
    include ("conexao.php");
    
    if(!empty($_GET[id])){
        $usuario = $_GET[id];
        $sql = "select * from usuario where usrcod = $usuario";
        $res = mysql_query($sql,$con);
        $linha = mysql_fetch_assoc($res);
        $cod = $linha['usrcod'];
        $usrlogin1= $linha['usrlogin'];
        $usrsenha1= $linha['usrsenha'];
        $usremail1= $linha['usremail'];
        $usrpermissao1= $linha['usrpermissao'];
        $usrnom1= $linha['usrnom'];
        $usrdatnas1= $linha['usrdatnas'];
        $usrsexo1= $linha['usrsexo'];
        $usrcpf1=$linha['usrcpf'];
        $usrrg1= $linha['usrrg'];
        $usrrua1=$linha['usrrua'];
        $usrnum1= $linha['usrnum'];
        $usrcompl1= $linha['usrcompl'];
        $usrbairro1= $linha['usrbairro'];
        $usrcid1= $linha['usrcid'];
        $usruf1= $linha['usruf'];
        $usrcep1= $linha['usrcep'];
        $usrfoneres1= $linha['usrfoneres'];
        $usrfonecel1= $linha['usrfonecel'];
    }

?>

&lt;script type="text/javascript">
function formatar_mascara(src, mascara) {
    var campo = src.value.length;
    var saida = mascara.substring(0,1);
    var texto = mascara.substring(campo);
    if(texto.substring(0,1) != saida) {
        src.value += texto.substring(0,1);
    }
}
</script>

<div class="divScroll">

<form action="alterar_usuario.php?alt=ok&cod=<? echo $cod ?>" name="frm_alt_usuario" method="post">

    <h3>Alterar usuário</h3>
    
    <br /><a href="java script:history.back(1)"><img align="right" src="../img/voltar.png" border="none"/></a>

<table cellspacing="5">
      
      <tr>
        <td width="160" align="right"> </td>
        <td width="300"> </td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Login: </h7></td>
        <td width="300"><input size="25" name="alt_login" type="text" maxlength="20" value="<? echo $usrlogin1 ?>"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Senha: </h7><br /><font size="1">Entre 6 e 15 caracteres.</font></td>
        <td width="300"><input size="25" name="alt_senha" type="password" maxlength="15" value="<? echo $usrsenha1 ?>"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>E-mail: </h7></td>
        <td width="300"><input size="40" name="alt_email" type="text" maxlength="50" value="<? echo $usremail1 ?>"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Nível de Permissão: </h7></td>
        <td width="300">
        <select name="alt_permissao">
        
        </select></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Nome: </h7></td>
        <td width="300"><input size="40" name="alt_nome" type="text" maxlength="50" value="<? echo $usrnom1 ?>"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Data de Nascimento: </h7></td>
        <td width="300"><input size="20" name="alt_datanascimento" type="text" maxlength="10" value="<? echo $usrdatnas1 ?>" onkeypress="formatar_mascara(this, 'xx/xx/xxxx')"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Sexo: </h7></td>
        <td width="300">
        <select name="alt_sexo">
        <option></option>
        <option value="<? echo $usrpermissao1 ?>">Masculino</option>
        <option value="<? echo $usrpermissao1 ?>">Feminino</option>
        </select></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>CPF: </h7></td>
        <td width="300"><input size="20" name="alt_cpf" type="text" maxlength="14" value="<? echo $usrcpf1 ?>" onkeypress="formatar_mascara(this, 'xxx.xxx.xxx/xx')"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>RG: </h7><br /><font size="1">Somente números.</font></td>
        <td width="300"><input size="20" name="alt_rg" type="text" value="<? echo $usrrg1 ?>" maxlength="20"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Rua: </h7></td> 
        <td width="300"><input size="40" name="alt_rua" value="<? echo $usrrua1 ?>" maxlength="50" type="text"></td>
      </tr>
      <tr>
          <td width="160" align="right"><h7>Número: </h7></td>
        <td width="300"><input size="20" name="alt_numero" value="<? echo $usrnum1 ?>" maxlength="10" type="text"></td>
      </tr>
      <tr>
          <td width="160" align="right"><h7>Complemento: </h7></td>
        <td width="300"><input size="20" name="alt_complemento" value="<? echo $usrcompl1 ?>" maxlength="15" type="text"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Bairro: </h7></td>
        <td width="300"><input size="30" name="alt_bairro" value="<? echo $usrbairro1 ?>" maxlength="30" type="text"></td>
      </tr>
      <tr>
          <td width="160" align="right"><h7>Cidade: </h7></td>
        <td width="300"><input size="40" name="alt_cidade" value="<? echo $usrcid1 ?>" maxlength="40" type="text"></td>
      </tr>
      <tr>
          <td width="160" align="right"><h7>Estado: </h7></td>
        <td width="300">
        <select name="alt_uf">
        <option></option>
        <option value="<? echo $usruf1 ?>">PR</option>
        <option value="<? echo $usruf1 ?>">SC</option>
        </select></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>CEP: </h7><br /><font size="1">Somente números.</font></td>
        <td width="300"><input size="25" name="alt_cep" value="<? echo $usrcep1 ?>" maxlength="9" type="text" onkeypress="formatar_mascara(this, 'xxxxx-xxx')"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Telefone Residencial: </h7><br /><font size="1">Somente números.</font></td>
        <td width="300"><input size="25" name="alt_telres" value="<? echo $usrfoneres1 ?>" maxlength="11" type="text" onkeypress="formatar_mascara(this, 'xx xxxxxxxx')"></td>
      </tr>
      <tr>
        <td width="160" align="right"><h7>Telefone Celular:</h7><br /><font size="1">Somente números.</font></td>
        <td width="300"><input size="25" name="alt_telcel" value="<? echo $usrfonecel1 ?>" type="text" maxlength="11" onkeypress="formatar_mascara(this, 'xx xxxxxxxx')"></td>
      </tr>
      <tr>
        <td width="160" align="right"> </td>
        <td width="300"> </td>
      </tr>
      <tr>    
        <td width="160" align="right"><input type="submit" name="alterar_usuario" value="Alterar"></td>
        <td align="left"><input type="reset" name="Limpar" value="Limpar"></td>
      </tr>
      
</table>
<br /><a href="java script:history.back(1)"><img align="right" src="../img/voltar.png" border="none"/></a>


<?
    if ($_GET[alt]=='ok'){
        $novo_login = $_POST[alt_login];
        $novo_senha = $_POST[alt_senha];
        $novo_email = $_POST[alt_email];
        $novo_permissao = $_POST[alt_permissao];
        $novo_nome = $_POST[alt_nome];
        $novo_datanascimento = $_POST[alt_datanascimento];
        $novo_sexo = $_POST[alt_sexo];
        $novo_cpf = $_POST[alt_cpf];
        $novo_rg = $_POST[alt_rg];
        $novo_rua = $_POST[alt_rua];
        $novo_numero = $_POST[alt_numero];
        $novo_complemento = $_POST[alt_complemento];
        $novo_bairro = $_POST[alt_bairro];
        $novo_cidade = $_POST[alt_cidade];
        $novo_uf = $_POST[alt_uf];
        $novo_cep = $_POST[alt_cep];
        $novo_telres = $_POST[alt_telres];
        $novo_telcel = $_POST[alt_telcel];
        $cod = $_GET[cod];
        
        
        $sql ="UPDATE   usuario SET 
                        usrlogin='$novo_login', 
                        usrsenha='$novo_senha', 
                        usremail='$novo_email', 
                        usrpermissao='$novo_permissao', 
                        usrnom='$novo_nome',
                        usrdatnas='$novo_datanascimento', 
                        usrsexo='$novo_sexo',
                        usrcpf='$novo_cpf', 
                        usrrg='$novo_rg', 
                        usrrua='$novo_rua', 
                        usrnum='$novo_numero', 
                        usrcompl='$novo_complemento', 
                        usrbairro='$novo_bairro',
                        usrcid='$novo_cidade', 
                        usruf='$novo_uf',
                        usrcep='$novo_cep', 
                        usrfoneres='$novo_telres', 
                        usrfonecel='$novo_telcel' 
                WHERE usrcod='$cod'";
        
        $res = mysql_query($sql,$con);
          
        if(mysql_affected_rows()>0) 
              echo "&lt;script>alert('O usuário foi alterado com sucesso.');</script>";
          else 
              echo "&lt;script>alert('Erro: o usuário não pode ser alterado.');</script>";
        
        echo "&lt;script> window.location='alt_usuario.php';</script>";
    
    }

?>

</div>

esse é o código para ALTERAR o usuário

a idéia é puxar os dados do usuario para um formulario, e então altera-los

todos os dados estao sendo chamados corretamente,

mas não consigo exibir os que estao em um SELECT

como eu faço isso?

muito obrigado

ahh.. e aproveitando o tópico, queria saber a mesma coisa, só que relacionada com o input do tipo = FILES

não consigo exibir os dados que vem do banco nesse tipo de campo

no banco o tipo do dado é VARCHAR também

valeu

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

10 respostass a esta questão

Posts Recomendados

  • 0
Coloca uma variavel com o valor vindo do bd dentro de uma opção. tipo:

<option value="op01"><?php echo"$sua_variavel"; ?></option>

Não testei, mas acho que ta certo.

Vlw

Está certo sim, porém coloque a variavel sem as aspas, pois isso fará com que o navegador a interprete como string e não variavel.

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, ficaria assim então:

<select name="alt_permissao">
        <option value="<? echo $usrpermissao1; ?>"><? echo $usrpermissao1; ?></option>
        </select>
mas como eu faria para exibir todas as opções, só que a opção que está cadastrada no banco como selecionada? Tem 3 opções: Administrador, Básico e Avançado no caso do usuário estar cadastrado como Administrador, quando fosse alterar os seus dados, a opção Administrador iria aparecer selecionada, mas com a opção de alterar para Básico ou Avançado... mesma coisa com a parte de alterar o sexo da pessoa e o estado que ela mora... Editado: consegui fazer o que eu queria, utilizando o seguinte código:
<select name="alt_permissao">
        <option value="Administrador" <?=($linha[usrpermissao]=="Administrador")?"selected":""?>>Administrador</option>
        <option value="Havefun" <?=($linha[usrpermissao]=="Havefun")?"selected":""?>>Havefun</option>
        <option value="Teenstation" <?=($linha[usrpermissao]=="Teenstation")?"selected":""?>>Teenstation</option>
        </select>

obrigado!

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

  • 0

beleza! Já consegui exibir nos SELECT

mas e como eu faço pra exibir o caminho do arquivo (imagem) que esta salvo no banco, através de um campo do tipo FILES?

queria chamar do VARCHAR o caminho da imagem, e exibir no campo FILES para alteração...

Muito obrigado

Link para o comentário
Compartilhar em outros sites

  • 0
Coloca no campo file um value com o endereço

não funcionou...

<tr>
        <td width="160" align="right"><h7>Selecionar imagem: </h7></td>
        <td width="300"><input size="25" name=alt_imagem  value="<? echo $imagem ?>" type="file"></td>
      </tr>

Link para o comentário
Compartilhar em outros sites

  • 0

Hmm, entendi...

if (!empty($_POST[alt_newimagem])) {
            $novo_imagem = $_POST[alt_newimagem];
        }
        else {
            $novo_imagem = $_POST[alt_imagem];
        }

deixei um campo text (alt_imagem) exibindo a img antiga

e criei um campo file (alt_newimagem) para caso o usuario mude :P

brigadao

Editado por buthy
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...