Jump to content
Fórum Script Brasil
  • 0

Popular select com dados vindos de duas tabelas


Chirlison

Question

Boa tarde a todos!

Pessoal, estou com o seguinte problema para popular um select com dados vindos do banco.

Tenho o seguinte código abaixo para popular o select.

include "../config/config.php";

//Aqui eu busco a categoria que está gravada na tabela (piloto_campeonato).
$busca2=mysql_query("SELECT * FROM piloto_campeonato WHERE id_campeonato='$id_campeonato' AND cpf='111.111.111-11'");
while($dados2 = mysql_fetch_array($busca2))
{
$opcao_escolhida = $dados2['categoria'];
echo $opcao_escolhida; 
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//Aqui eu busco todas as categorias que estão gravadas na tabela (campeonatos).
$busca=mysql_query("SELECT * FROM campeonatos WHERE id='$id_campeonato'");

if(!mysql_num_rows($busca)){ 
echo 'Nenhum dado cadastrado na base de dados';
}else{
        echo "<select name=\"categoria\" id=\"categoria\">";
        while($ver=mysql_fetch_row($busca)){
                        $id=$ver[0];
                                        $categorias=$ver[10];
                                        
                                        }}
                                        
                                        $categorias=unserialize($categorias);   
                        foreach($categorias as $valor)
                                        {
                                        $selected = $opcao_escolhida == $categorias['$valor'] ? ' selected="selected"' : '';
                                        echo '<option value="'.$categorias['$valor'].'"'.$selected.'>'.$categorias['$valor'].'</option>';
                                        
                                        }       
                                                                                                                        
        echo "</select>";

O que preciso fazer e não estou conseguindo?

Trazer a categoria escolhida pelo usuário e que foi gravada no banco como a primeira opção do select.

Ex: Se o usuário ao se cadastrar no site, na opção Categoria, ele escolheu a Categoria1, quando faço a seleção dos dados desse usuário, a opção Categoria que ele escolheu, neste caso Categoria1, não vem como a primeira opção e sim vem abaixo das demais cadastradas no banco.

Alguém tem alguma sugestão de como posso fazer isto?

Desde já, muito obrigado a todos.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

É só mudar a query

$busca=mysql_query("SELECT * FROM campeonatos WHERE id='$id_campeonato'");
para
$busca=mysql_query("SELECT * FROM campeonatos WHERE id=$id_campeonato ORDER BY FIELD(id,$id_campeonato) DESC, id DESC;");

PS: evite usar aspas quando a comparação for de inteiros, e sempre no fim se possivel coloque um ; evitando assim que o banco de dados fique esperando mais instruções, qualquer coisa estamos ai! abços!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...