Ir para conteúdo

Arquivado

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

vinicius015

Select em edição, captar a mesma opção

Recommended Posts

Pessoal, boa tarde! Tudo bem?

 

Queria uma orientação, quanto a um probleminha que carrego rs

 

Tenho o select abaixo que uso na página de cadastro de usuários.

 

<select name="nivel" size="1">
        <option value="1">Banhistas</option>
        <option value="2">Administradores de Condomínio</option>
        <option value="3">Funcionários</option>
        <option value="4">Supervisores</option>
        <option value="5">Administrador</option>
</select>

Porém, tenho uma página de edição de usuários, quando vou editar um usuário ele me voltará como se fosse a primeira opção "Banhistas (1)", porém o cadastro é de Administrador (5).

 

Queria saber como faço o comparativo para quando abrir a página de edição, o mesmo venha a estar selecionado a opção Administrador(5).

 

Desde já muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na hora de fazer o loop das opções, compare a variavel que tem o value com a variavel que tem o id do tipo de usuario

 

dentro do loop

<?php echo $value = $nivel? 'selected': '' ?>
//se o value for igual ao nivel do usuario imprime o slect com selected

O código não é esse, esse é so pra vc ter uma ideia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Electronic, obrigado pela ajuda.

 

Porém não estou fazendo loop, poderia me orientar melhor sobre esta forma?

Abaixo copio como esta a parte de edição dos dados:

 

<?php include "conecta.php";
$id = $_GET['id'];
$sql = "SELECT * FROM usuarios WHERE id='$id'";
$query = mysql_query($sql);
$array = mysql_fetch_array($query);
?>

<form  name="todoform" action="atualizarusuario.php?id=<? echo $array['id'];?>" method="post">
<p><font size="3">NOME:</font></p><input type="text" name="nome" value="<?php echo $array['nome'];?>" size="10">
<p><font size="3">RG:</font></p><input type="text" name="rg" value="<?php echo $array['rg'];?>" size="10">
<p><font size="3">CPF:</font></p><input type="text" name="cpf" value="<?php echo $array['cpf'];?>" size="10">
<p><font size="3">FUNÇÃO:</font></p><input type="text" name="funcao" value="<?php echo $array['funcao'];?>" size="10">
<p><font size="3">ENDEREÇO:</font></p><input type="text" name="endereco" value="<?php echo $array['endereco'];?>" size="10">
<p><font size="3">TELEFONES:</font></p><input type="text" name="telefones" value="<?php echo $array['telefones'];?>" size="10">
<p><font size="3">E-MAIL:</font></p><input type="text" name="email" value="<?php echo $array['email'];?>" size="10">
<p><font size="3">USUÁRIO:</font></p><input type="text" name="usuario" value="<?php echo $array['usuario'];?>" size="10">
<p><font size="3">SENHA:</font></p><input type="text" name="senha" value="<?php echo $array['senha'];?>" size="10">
<p align=><font size="3">NIVEL:</font><BR>
<select name="nivel" size="1">
        <option value="1">Banhistas</option>
        <option value="2">Administradores de Condomínio</option>
        <option value="3">Funcionários</option>
        <option value="4">Supervisores</option>
        <option value="5">Administrador</option>
</select>
<BR><BR>
<p><font size="3">CRONOGRAMA:</font></p><textarea name="cronograma" rows="2"><?php echo $array['cronograma'];?></textarea>
<p align="center"><input type="submit" value="EDITAR USUÁRIO" class="button contact_submit"/></p>
                        </form>

Desde já obrigado,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei uma solução na internet, ele lista de acordo com os dados que tem na tabela "categoriausuarios", porém não me traz o resultado selecionado.

 

<?php
// Conecto no banco.
$conexao = mysql_connect("dbmy0044.whservidor.com", "qualytratu_2", "agua1020") or die ('Erro na conexão.');
mysql_select_db("qualytratu_2", $conexao);




// Faço o select na tabela.
$sql = "SELECT id, categoriausuarios1 FROM categoriausuarios ORDER BY id";
$qry = mysql_query($sql, $conexao);
// faço um laço em que percorro todas linhas da consulta que acabo de fazer.
while ($dados=mysql_fetch_array($qry)) {
// após um submit eu quero que o combo volte a mostrar o que eu selecionei, para isso eu testo se
// a variável do array post alimentado na posição comboDados é igual a variável que está sendo lida
// pela tabela nesse momento.
// Explicação tosca. hehehe Mas acho que dá prá entender.
// Quando selecionamos algo no combo é adicionado uma palavra selected na linha do option e é isso que eu faço.
$selecionado=$dados['id']==$_POST['categoriausuarios1']?" selected":null;


// Aqui é onde se adiciona cada registro da tabela em um novo item do combo.
// Lembrando que o PHP primeiro é "interpretado", gera-se o HTML e exibe.
// Então o que é feito é que o php está criando os itens no combo.
echo "<option value=\"$dados[id]\" $selecionado>$dados[categoriausuarios1]</option>";


}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Removi o seu outro tópico, pois a dúvida deste tópico aqui você postou novamente, várias vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites


...

 

// * Pega o nivel do usuário

$formNivel = $array['nivel'];

 

switch($formNivel)

{

case 1: $nivel01 = "selected"; break;

case 2: $nivel02 = "selected"; break;

case 3: $nivel03 = "selected"; break;

case 4: $nivel04 = "selected"; break;

case 5: $nivel05 = "selected"; break;

}

 

?>

 

...

 

<select name="nivel" size="1">

<option value="1" <?php echo $nivel01; ?>>Banhistas</option>

<option value="2" <?php echo $nivel02; ?>>Administradores de Condomínio</option>

<option value="3" <?php echo $nivel03; ?>>Funcionários</option>

<option value="4" <?php echo $nivel04; ?>>Supervisores</option>

<option value="5" <?php echo $nivel05; ?>>Administrador</option>

</select>

 

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... não to entendendo.

 

No seu form de usuario, você tem um perfil. É só pegar esse perfil e comparar com o que tem no select, como eu fiz!

Não to entendendo tua dificuldade. O exemplo acima inclusive fiz usando o seu código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.