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 henriquers
      Estou com um problema com o Select2, ele tem um campo de busca mas não esta filtrando corretamente e não estou entendo o motivo, sem utilizar o AJAX colocando os options manualmente ele funciona corretamente, mas trazendo os dados via AJAX ele não funciona o campo de busca.
      Se aguem poder me dar uma luz agradeço a ajuda.
       

       
      Nessa imagem estou tentando filtrar apenas para os itens que tenha LUVA na descrição, mas não funciona, posso colocar qual quer coisa que ele não faz o filtro
       
      Abaixo segue meu codigo
       
      HTML
      <!DOCTYPE HTML PUBLIC> <HTML> <HEAD> <TITLE> Select2 </TITLE> <link href="select2/select2.css" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n/pt-BR.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" rel="stylesheet"/> <script> $(document).ready(function(){ $("#selUser").select2({ language: "pt-br", ajax: { url: "get_dados.php", type: "GET", dataType: 'json', delay: 200, data: function (params) { return { q: params.term, // search term page: params.page }; }, processResults: function (response) { return { results: response }; }, cache: true }, width: "20%", closeOnSelect: true, }); }); </script> </head> <body> <select id='selUser' style='width: 200px;'> <option value='0'>- Search user -</option> </select> </body> </html> get_dados.php
      <?php include './conn_orcl.php'; $select="SELECT PRO_CODPRO PRODUTO,TRIM(PRO_DESCRI) DESCRICAO FROM F_PRODS WHERE PRO_LOCEST='ALMOX' AND PRO_STATUS = 'AT' ORDER BY DESCRICAO"; $parse=oci_parse($conn,$select); oci_execute($parse); $data = array(); while($row=oci_fetch_array($parse)){ $data[] = array("id"=>$row['PRODUTO'], "text"=>$row['PRODUTO']." - ".$row['DESCRICAO']); }; echo json_encode($data); ob_end_flush(); oci_free_statement($parse); oci_close($conn); ?>  
    • By Jack Oliveira
      Boa noite pessoal
       
       
      Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link"   ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok...
       
      Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa"  Não sei se isso interfere ao fazer a verificação
       
      HTML
             <div class="col-md-6">         <div class="form-group">          <label for="nome_empresa">Nome</label>          <input type="text" autocomplete="off" id="nome_empresa" maxlength="100"  name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja">        </div>      </div>      <div class="col-md-6">       <div class="form-group">        <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em>        <input type="text" autocomplete="off"  id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline.">        <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span>      </div>    </div> No PHP fazer verificação fiz isso...
      <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada
       
       
    • By DuduBacteria
      Tenho uma Tabela chamada "VENDAS" com os seguintes atributos:
       
       
      Eu quero retornar em MySQL o total de vendas ocorridos durante 1 semana, entre o dia atual até seis dias atrás.
       
      Ficando mais ou menos assim:
       
      SEMANA              TOTAL DE VENDIDO segunda                250.00 domingo                430.00 sábado                 160.50 sexta                  300.03 quinta                 300.03 quarta                 300.03 terça                  300.03
    • By terra
      Olá,
       
      preciso enviar os últimos 10 registros para um único e-mail, mas o código abaixo esta enviando separado
       
       
      agradeço qualquer ajuda
    • By eStevo2734
      Pequei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona.
       
      <?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?>  
      O arquivo em XML é beemmm longo
      <?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposit <despachos> <despacho codigo="IPAS009" nome="Publ </despachos> <titulares> <titular nome-razao-social="HERIK DE </titulares> <marca apresentacao="Mista" natureza="P <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao <classe-vienna codigo="28.3" edicao=" <classe-vienna codigo="26.2.7" edicao <classe-vienna codigo="29.1.15" edica </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; li <status>Pendente</status> </classe-nice></lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTOR </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Defe </despachos> <titulares> <titular nome-razao-social="DEIVISSON </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Bo <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome>
      <status>. Mas também queria tentar pegar os
      valores nome-razao-social="..." e natureza. Penso que
      pode ter algo a ver com o tamanho do arquivo que é um
      pouco maior do que o habitual, girando em torno de
      30 MB e no total vão ter que tirar as informações 22 109
      que é o número de vezes que esse modelo de exemplo
      se repete no documento Mas como disse não sei muito
      sobre PHP é uma suposição)...
×

Important Information

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