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 SECONDSS
      boa noite, preciso entregar algumas questões até daqui a pouco,meu tempo está corrido e gostaria da ajuda de vocês para resolver essa questão. obrigado desde já!

      QUESTÃO 16 -

      Desenvolva um programa utilizando PHP e exibir os resultados desse programa que tenha todas as classes suficientes para que:
      Represente o nome completo de uma pessoa, composto de três strings (nome próprio, nome do meio e nome da família). 
      ATENÇÃO - 
      Escreva nessa classe o método rubrica que retorna somente as iniciais do nome completo em caracteres minúsculos, Escreva nessa classe o método assinatura que retorna as iniciais dos nomes próprio e do meio (com pontos) Escreva nessa classe um método que retorne o nome de família completo. Por exemplo, se o nome da pessoa representado por essa classe for “Jack Mill Dam”, o método rubrica deve retornar ”jmd” e o método assinatura deve retornar ”J.M. Dam”. Para facilitar, considere armazenar os três nomes em strings separadas.
    • By duarte.php
      Boa noite, pessoal, estou fazendo meu tcc (nível técnico kkk) e preciso de ajuda com uma conexão com o banco.
       
      Fiz um formulário para consultar empréstimos em uma biblioteca através do rm (id) e exibir os dados que estão cadastrados neste rm. 
      Estou com dificuldades para que os dados sejam puxados e exibidos na página. 
       
      Esta é a parte que pede o RM no html
      <h4 class="title">Insira o seu RM: </h4> <input type="text" name="rm" class="form-control" required/>  
      Este é o código php
      <?php $rm = $_POST['rm']; include("conecta.php"); $busca = mysql_query("SELECT * FROM tb_locador WHERE rm='$rm'"); $dado = mysql_fetch_array($busca); $nome = $dado['nome']; $ano = $dado['ano']; $curso = $dado['curso']; $tel = $dado['tel']; echo "RM: " . $rm . "<br>"; echo "Nome do locador: ".$nome. "<br>"; echo "Curso do locador: ".$curso. "<br>"; echo "Ano de início do curso: ".$ano. "<br>"; echo "Telefone do locador: ".$tel. "<br>"; ?> Até então, o único dado exibido é o RM, como faço para exibir o nome, curso, ano e telefone? 
       
    • By guzulino
      Então... eu preciso inserir uma paulada de dados em um banco de dados de vez em quando, eu até consigo importar de um CSV pro banco, mas eu preciso fazer isso através do php e eu não tenho nem ideia de como fazer isso, procurei por aqui e não achei, se alguém tem alguma resposta ou referência, manda o link que eu vou dar uma olhada. Valeu.
    • By Guss
      Agradeço quem puder me ajudar a responder essa questão de PHP <3.
      Desenvolva um programa utilizando PHP e  exibir os resultados desse programa que tenha todas as classes suficientes para que:
       
      Represente o nome completo de uma pessoa, composto de três strings (nome próprio, nome do meio e nome da família). 
       
      Escreva nessa classe o método rubrica que retorna somente as iniciais do nome completo em caracteres minúsculos,  Escreva nessa classe o método assinatura que retorna as iniciais dos nomes próprio e do meio (com pontos)  Escreva nessa classe um método que retorne o nome de família completo.  Por exemplo, se o nome da pessoa representado por essa classe for “Marijuana Pepsi Jackson”, o método rubrica deve retornar ”mpj” e o método assinatura deve retornar ”M.P.Jackson”. Para facilitar, considere armazenar os três nomes em strings separadas.
×

Important Information

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