Ir para conteúdo

POWERED BY:

Arquivado

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

gomes7296

Não duplica "option" dentro de um "select"

Recommended Posts

Olá amigos, gostaria de saber se há alguma solução nativa do php (sem gambiarra), para não duplicar uma option da select em uma página para atualizar (dar update) em uma informação já cadastrada.

 

Meu código:

<div class="form-group">
                                        <label class="control-label">Responsável</label>
                                        <select class="bs-select form-control" data-live-search="true" name="id_usuario">

                                          <?php
                                          $sql = mysql_query("SELECT * FROM usuario WHERE id_usuario = '$PUSUARIO'")or die(mysql_error());
                                          while($loop=mysql_fetch_array($sql))
                                          {
                                            $USER_ID = $loop['id_usuario'];
                                            $USER_NAME = $loop['nome'];
                                          }
                                          ?>
                                          <option value="<? echo $PUSUARIO ?>" selected="selected">--<? echo $USER_NAME ?></option>
                                          <?php
                                          $sql = mysql_query("SELECT * FROM usuario")or die(mysql_error());
                                          while($loop=mysql_fetch_array($sql))
                                          {
                                            $USER_ID = $loop['id_usuario'];
                                            $USER_NAME = $loop['nome'];
                                          ?>
                                            <option value="<? echo $USER_ID ?>"><? echo $USER_NAME ?> </option>
                                          <?php
                                          }
                                          ?>
                                        </select>
                                      </div> 

No caso o usuário que já esta cadastrado (que fica de padrão mostrando na minha select, aparece novamente na lista ficando assim:

[Matheus]

-- João

-- Fernando

-- Marco

-- Luiz

-- Matheus

-- Lucas

 

 

Obrigado a todos !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução bem rápida e simples: troque a sua SEGUNDA query por esta:

$sql = mysql_query("SELECT * FROM usuario WHERE id_usuario != '$PUSUARIO'")or die(mysql_error());

Assim você seleciona todos os campos que não possuam o id_usuario que já foi exibido acima.

 

Uma dica: evite também usar a extensão mysql_ e comece a usar mysqli_ ou PDO (recomendo o PDO). São mais seguros e mais poderosos, além de mais rápidos. Sem contar que em breve o mysql_ deixará de existir e vai te dar trabalho ficar com o site fora do ar porque deixou pra atualizar o código em cima da hora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera já resolvi kkkkk, TOTALMENTE falta de pensar, afs que vergonha.

Para quem passar por isso a solução que coloquei (no segundo SELECT):


$sql = mysql_query("SELECT * FROM usuario WHERE id_usuario <> '$PUSUARIO'")or die(mysql_error());

No caso é o oposto do primeiro SELECT, funcionou como uma doce mulher fora da TPM.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma solução bem rápida e simples: troque a sua SEGUNDA query por esta:

$sql = mysql_query("SELECT * FROM usuario WHERE id_usuario != '$PUSUARIO'")or die(mysql_error());

 

Hehe obrigado parceiro, estava escrevendo a mesma solução e vi que respondeu também ^^

 

É isso ai ;)

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.