Jump to content
biakelly

Ajuda com else

Recommended Posts

Oi,

 

 não estou conseguindo fazer isso, podem me ajudar?

 

<?php $botaoaluno = mysql_query("SELECT aluno FROM escola WHERE colegio_id='$colid'",$db);
$alunoativo = mysql_num_rows($botaoaluno);
if ($alunoativo = 1) { ?>

<?php $pegaralunos = mysql_query("SELECT alunosdisponiveis FROM tabelasalunos WHERE userID='{$_SESSION['userid']}' and alunosID='{$objauALN["alunID"]}'", $db);
$classe = mysql_num_rows($pegaralunos);
if ($classe > 0) { ?>

<button name="geraralunos">Aluno presente</button>
<?php } else { ?>
<button name="geraralunos">Aluno faltante</button>
<? } 

} else{ ?>

<p>Não tem aluno</p>

<?php } ?>

o que eu preciso, se o alunoativo for igual a 1, fazer o próximo IF, mas se ele for igual a 0 mostrar a mensagem (não tem aluno)

Share this post


Link to post
Share on other sites

Oi gerson, vou mudar sim, a priori só querendo mesmo fazer funcionar

 

então, fiz isso de inclui o == mas mesmo assim ele só faz o primeiro if

Share this post


Link to post
Share on other sites

Percebi aqui que este trecho esta funcionando bem:

 

<?php $pegaralunos = mysql_query("SELECT alunosdisponiveis FROM tabelasalunos WHERE userID='{$_SESSION['userid']}' and alunosID='{$objauALN["alunID"]}'", $db);
$classe = mysql_num_rows($pegaralunos);
if ($classe > 0) { ?>

<button name="geraralunos">Aluno presente</button>
<?php } else { ?>
<button name="geraralunos">Aluno faltante</button>
<? } 

Mas a condição anterior quebra essa segunda.

Exemplo: quando tento trazer apenas o 

if ($alunoativo = 1) { ?>

essa segunda condição traz os que estão em 0 e 1, sem a primeira condição ele traz certinho a regra

Share this post


Link to post
Share on other sites

tente assim

SELECT aluno FROM escola WHERE colegio_id='$colid'
if(mysql_num_rows($botaoaluno) > 0){

não expert , mas faria isso, lembrando do mysqli

 

editado

Share this post


Link to post
Share on other sites

Pessoal, funcionou em partes, mas ainda estou tendo problema.

 

Nesta condição, se alunoativo for igual a "1" ele deve fazer a segunda condição, mas se o aluno for igual a "0" ele deve informar "Não tem aluno"

 

Bem, o problema é que ele faz a segunda condição para todos se o "alunoativo" é 1 e se eu mudo para "alunoativo == 0 ele também faz a condição 2 e marca tudo como "não tem aluno" 

 

 

Sei que preciso mudar para mysqli (não posso fazer agora), mas gostaria da ajuda de vocês com esta condição.

 

 

 

<?php $botaoaluno = mysql_query("SELECT aluno FROM escola WHERE colegio_id='$colid'",$db);
$alunoativo = mysql_num_rows($botaoaluno);
if ($alunoativo == 1) { ?>

    <?php $pegaralunos = mysql_query("SELECT alunosdisponiveis FROM tabelasalunos WHERE userID='{$_SESSION['userid']}' and alunosID='{$objauALN["alunID"]}'", $db);
    $classe = mysql_num_rows($pegaralunos);
    if ($classe > 0) { ?>
    <button name="geraralunos">Aluno presente</button>
    <?php } else { ?>
    <button name="geraralunos">Aluno faltante</button>
    <? } 

} else{ ?>
<p>Não tem aluno</p>
<?php } ?>

 

Share this post


Link to post
Share on other sites

Primeiro, você ta abrindo e fechando muito as tags php sem necessidade é bom enxugar esse coidgo e substituir o Mysql pelo PDO.

tente assim:

<?php 
$botaoaluno = mysqli_query("SELECT aluno FROM escola WHERE colegio_id='$colid'",$db);
$alunoativo = mysqli_num_rows($botaoaluno);

if ($alunoativo == 1) {
   $pegaralunos = mysqli_query("SELECT alunosdisponiveis FROM tabelasalunos WHERE userID='{$_SESSION['userid']}' and alunosID='{$objauALN["alunID"]}'", $db);
    
   $classe = mysqli_num_rows($pegaralunos);
  
    if($classe != 0){
    	echo '<button name="geraralunos">Aluno presente</button>';
    }
    else {
    	echo '<button name="geraralunos">Aluno faltante</button>';
    } 

} 
else{
	echo '<p>Não tem aluno</p>';
} ?>

tente tbm armazer a userid em uma variabvel do tipo inteiro antes da query

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 joagostini
      Olá, sou iniciante, e estou fazendo, como exercício, o jogo da velha. 'Desenvolvi' uma rotina de escolha de nível do jogo (serão 3 níveis) que deve aguardar a escolha do usuário para o programa prosseguir. Mas acho que não entendi direito como o javascript funciona, pois o que fiz não funciona e não encontrei uma solução (talvez não saíba como pesquisar corretamente o assunto na web).

      O começo do HTML (que é pouco) onde está um select para escolha do nível é este:
      <body>     <div id="dvmenu">         <button onclick="iniciar()">Iniciar Jogo</button>         <p><br></p>         <div id="dvQuemComeca">             <label for="nivel">Escolha o nivel:</label>             <select id="nivel" onChange='atualiza()'>                 <option value=0 selected>Escolha um nível</option>                 <option value=1>Nível 1 - Brincadeira</option>                 <option value=2>Nivel 2 - Surpresa</option>                 <option value=3>Nível 3 - Desafio</option>             </select>         </div>         <div id="jogador" class="jogador"></div>         <div id="vencedor" class="jogador"></div>     </div>  
      O código JS é este:
      //INÍCIO VEM DE LOAD function iniciar() {     casela = document.querySelectorAll('div[id^="p"]');     for (let cas of casela) {         cas.innerHTML = '';     }     for (let i = 0; i < 9; i++){        tab = tab;     }     console.log(tab);     nivel = 0;      msg = '';     qtosLancesJog = 0;     sorteiaJogador();     //até aqui funcionou direito } //-------------------------------------------------------------------- //ESCOLHA DO NÍVEL DO JOGO function atualiza(){     let selecao = document.querySelector('#nivel');     let opcao = selecao.options[selecao.selectedIndex];     return opcao.value;    }   //--------------------------------------------------------------------   //SORTEIA QUEM VAI COMEÇAR JOGANDO //função para definir o jogador que inicia o tab function sorteiaJogador() {//funcionou direito     let quemComeca = parseInt(Math.floor(Math.random() * 2));     if (quemComeca == 0) {         msg = 'Computador';         //setTimeout(lanceCpu, 2000);//dá um intervalo antes do computador realizar o 1 lance         lanceCpu();     } else msg = 'Humano';//neste caso a rotina espera que o jogador clique no tabuleiro, qdo roda a função lancetab(pos)         lanceHumano();     document.querySelector('#jogador').innerHTML = `<br>O ${msg} começa!`; } //--------------------------------------------------------------------   //ESCOLHA RANDÔMICA, NIVEL = 1, Da POSIÇÃO DO LANCE DA CPU NO tabULEIRO function jogouCpu(){//funcionou direito //nível 1 modo randômico pos = Math.floor(Math.random() * 9); return pos; }   //função humana function lanceHumano(){     console.log('Estou na função humana');     do {         nivel = atualiza();         console.log(nivel);     } while (nivel === 0);     console.log(nivel + ' passei direto'); }  
      O problema está nesse do...while da function lanceHumano(). Segundo entendi, ele prosseguiria apenas quando nivel!== 0, caso contrário, ficaria 'preso' até o momento que o usuário escolhesse uma das opções. Pelo HTML percebesse que setei o select para value=0. Mas ele nem se dá ao trabalho de esperar um miléssimo de segundo, segue em frente com o valor que tiver, no caso 0. O while  não tem efeito. Essa minha perspectiva está errada? Se sim, o que fazer? (paradigma funcional, await?) Obrigado.
      P.S.. No código tem uns conole.logs que servem watch-dogs para ajudar a entender por onde vão as rotinas.
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
    • By Kefatif
      Prezados, boa tarde.
       
      Preciso de uma ajuda, tenho um select onde o usuário vai poder selecionar dentre os valores "1" e "2", mas gostaria que quando ele selecionasse o valor 2 fosse enviado um alerta de confirmação, estou tentando fazer através do evento blur, mas não estou sabendo fazer a comparação. Seria possível chamar o evento apenas se o valor selecionado for 2?
       
      Segue meu código teste abaixo.
       
      <!DOCTYPE html> <html> <head> <title>Teste</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.1.min.js"></script> <script type="text/javascript"> $(function(){ //inserir os códigos aqui $("#fase").blur(function(){ alert("O input perdeu o foco."); }); }); </script> </head> <body> <label style="width:15%">Fase<b style="color:red">*</b><br> <select name="fase" id="fase" class="form-control" required style="width:100%" > <option value="1">1</option> <option value="2">2</option> </select> </label> <label style="width:15%">teste<b style="color:red">*</b><br> <select name="teste" class="form-control" required style="width:100%" > <option value="">Selecione</option> <option value="SIM">SIM</option> <option value="NÃO">NÃO</option> </select> </label> </body> </html>  
      Agradeço desde já.
       
      Abs.
    • By biakelly
      Olá Tudo bem?
       
      Poderiam me ajudar com a seguinte condição:
      <?php if ($row['facebook'] != "") { echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>'; } else { echo ''; } ?>  
      Estou recebendo o seguinte erro:
      Parse error: syntax error, unexpected 'facebook' (T_STRING), expecting ';' or ',' in C:\xampp\htdocs\biazinha\inicial.php on line 371
       
       
      A linha 371 é essa:
      echo '<a class="btn btn-dark btn-social mx-2" href="<?php echo $row['facebook']; ?>"><i class="fab fa-facebook-f"></i></a>';  
       
       
    • By PToledo
      Tenho um IF, ElseIf, Else....
       
      Como contar somando, cada vezes que o IF, ElseIF ou Else for verdadeiro.
       
      Preciso contar a quantidade de vezes que o IF for setado, verdadeiro.
×

Important Information

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