Jump to content
BetimG

Criando Select

Recommended Posts

E ae pessoal tudo tranquilo?

 

Preciso de uma ajuda pra criar um select na pagina de edição de informações, mais precisamente no CURSOS, pois tenho mais de uma opção de curso, não consigo criar o select ali, normalmente as informações ficam fora da opção, segue imagem e as linhas

 

<form method = "POST" action="">
<h4>Atualizar/Excluir Alunos </h4><br><br>
<?php
include "conexao.php";


$op = $_GET['operacao'];
$ra = $_GET['ra'];


$sql= mysqli_query($conexaobd,"SELECT a.ra,a.nome,c.nome as curso,a.datanasc FROM alunos a INNER JOIN cursos c ON a.curso = c.codcurso where a.ra=$ra");

echo "<form method=POST action=''>
        ";
            
while($linha = mysqli_fetch_assoc($sql))

{

$ra = $linha['ra'];
$nome = $linha ['nome'];
$curso = $linha ['curso'];
$datanasc = $linha ['datanasc'];
            
if($op==1) //editar
    {
    echo"<td>RA</td><br><input type=text name=txtra value=$ra><br><br>
    <td>Nome</td><br><input type=text name=txtnome value=$nome><br><br>
    <td>Curso</td><br><input type=text name=txtcurso value=$curso readonly><br><br>
    <td>DataNasc</td><br><input type=date name=txtdatanasc value=$datanasc><br><br>
    <br>
          <input type=submit value='EDITAR'>";
    }
else //excluir
    {
    echo "<input type=text name=txtra value=$ra readonly>
    <input type=text name=txtnome value=$nome readonly>
    <input type=text name=txtcurso value=$curso readonly>
    <input type=date name=txtdatanasc value=$datanasc readonly>
    
          <input type=submit value='EXCLUIR'>";
    }
}
echo "</form>";

mysqli_close($conexaobd);

?>
</center>
<?php
if(count($_POST)>0)
{
include "conexao.php";
$ra=$_POST['txtra'];
$nome=$_POST['txtnome'];
$curso=$_POST['txtcurso'];
$datanasc=$_POST['txtdatanasc'];

if($op==1)
$sql="UPDATE alunos SET ra=$ra,nome='$nome',datanasc='$datanasc'";

else
    
$sql="DELETE from alunos where ra=$ra";
$rs=mysqli_query($conexaobd,$sql);
if($op==1)
    echo"<script language='javascript' type='text/javascript'>alert('Dados atualizados com sucesso!');window.location.href='alunos.php';</script>";
else
    echo"<script language='javascript' type='text/javascript'>alert('Dados deletados com sucesso!');window.location.href='alunos.php';</script>";
mysqli_close($conexaobd);
}
?>

</form>

 

edit.thumb.png.e3e1dd7e118f3085c2c765d12f74d7d0.png

Share this post


Link to post
Share on other sites

Ola Querido ,


Conforme seu código você tem que colocar outro Loop exatamente no input do txtcurso . 

exemplo

#seleciona os Cursos
$cursoDB = mysql_query("SELECT * tb_cursos");

<select>
 <option>Selecione...</option>
 
 <?php while($cursos = mysql_fetch_array($cursoDB)) { ?>
 <option value="<?php echo $cursos['id'] ?>"><?php echo $curso['nomeCurso'] ?></option>
 <?php } ?>
 
 </select>

 

 



 

Share this post


Link to post
Share on other sites

Obrigado amigo, deu certo, porem tem um pequeno problema.

 

Ali no cursos ta criando o select e aparecendo todas opções que tenho cadastrado no BD, porem quando vou editar, não mostra o curso que a pessoa esta fazendo, mostra o curso que esta cadastrado em primeiro no banco, mesmo eu não querendo mudar o curso da pessoa, como o primeiro fica selecionado, quando edito o curso muda, tipo isso:

 

Glauco Faz GTI

1.thumb.png.da1842626e75558bc24a8a0b460ba463.png

 

Quando vou editar a informação, o primeiro curso que aparece ali é o primeiro que esta na ista do BD

2.thumb.png.b4c71e8f39bbe6a62b65c6569337bd4a.png

 

Automaticamente quando termino a edição, mesmo não mexendo no curso, ficou selecionado outro, justamente o que esta em primeiro no BD, existe alguma forma de corrigir isso?

3.thumb.png.dac348545fbc92c7f085b4181aa66c05.png

Share this post


Link to post
Share on other sites

Boa Noite , 

 

Sim existe tem que criar uma função

 

exemplo 

<?php
function selected( $value, $selected ){
    return $value==$selected ? ' selected="selected"' : '';
}

Cria essa função no inicio do código  ,

E depois no seu <select> 

 

<select name="cursos">
   <!-- Acho que aqui voce colocou seu while -->
    <option value="$curso['id]"<?php echo selected( "Curso Selecionado ID", "All Cursos do Banco pelo ID" ); ?>><?php echo $curso['nome'] ?></option>
 <!-- Voce fechou seu while -->
</select>

 

Tenta compreender o código  conforme o seu conhecimento.

 

Curso Selecionado pelo ID ( é o curso que voce pega ao clicar no botao editar )
 All Cursos do Banco ( sao todos os cursos )

A funcao vai comparar os 2  quando o ID do curso selecionado for igual ao ID de todos os cursos.
ele vai retornar esse valor e o "selected" vai travar nele .

Sendo assim vai mostrar o curso que foi selecionado. 

 

Boa sorte 
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Carcleo
      A ideia:
       
      toda e entrada no site, seja com link direto do tipo:
       
      www.site.com.br/pasta1/pasta2/arquivo.php  
      ou normal url amigável
       
      www.site.com.br/categoria/tipo  
      tudo queria que redirecionasse para o index.php da raiz do site.
       
      E que, caso o arquivo ou pasta NÃO existisse, abrisse normalmente a pagina 404.php
       
       
      Tentei de tres formas mas nenhuma dá certo.
       
      Primeira forma
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 Segunda forma:
      Options +FollowSymLinks DirectorySlash On RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} \.php$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?request=$1 [L] Terceira forma:
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^(.*)$ index.php?page=$1 Problemas:
       
      A) Quando acesso a url diretamente não está redirecionando para o index.
      B) Quando falo que é para redirecionar todos os arquivos ele não me dá os parêmetros. 
    • By Pellegrini3834
      Ola galera do IMasters!!!!!!
       
      Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:
      Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.
      Obrigado.
    • By Henrique Augusto Rohloff
      Olá! Sou iniciante e estou treinando para configurar uma página de buscas de produtos em um banco de dados.
      Os produtos já estão sendo encontrados quando a palavra bate com os itens do banco. A conexão com o banco de dados está funcionando corretamente. Porém, quando nada é encontrado, queria que aparecesse uma mensagem "Nenhum resultado, tente novamente." Já tentei com  else de tudo que é jeito mas não aparece corretamente... Qual é o jeito certo?
       
      Segue o código:
       
       
    • By maruoppolo
      Olá, tenho 2 tabelas:
       
      tb_dados: ID - MUSICA
       
      tb_votos: ID - VOTO - RADIO - MUSICA
       
      Preciso fazer uma query que traga as musicas da tb_dados porém ordenando pelo número de votos que ela teve na tb_votos.
       
      Então assim, existem 2 tipos de voto 1 = like e 2 = dislike, cada ver que um usuário vota eu pego qual radio que ele esta ouvindo e salvo no campo radio, o id da musica na tb_dados e salvo no campo musica da tb_votos e coloco o número 1 para like e 2 para dislike no campo voto.
       
      A query precisa contar quantos likes teve na tv_votos filtrando por radio e mostrando os resultados em ordem decrescente as musicas com mais likes.
       
      A ideia é trazer as 10 musicas com mais like de cada radio
       
      Alguma ideia de como fazer?? Estou enroscado nisso a dias.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.