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 Dinho Nunes LC
      Como posso adicionar uma terceira opção a essa td?
       
      Funciona assim.
       
      <td align="center"> <?php if ($usuario['dia'] - $usuario['uso'] <= -1) {echo "Expirado";} else {echo "Em ", $usuario['dia'] - $usuario['uso'], " Dias";} ?> </td>
       
      Resultado atual.
       
      if ($usuario['dia'] - $usuario['uso'] <= -1) {echo "Expirado";}  ~ Exibe Expirado / Está Ok
      = 0 Exibindo "Em 0 Dias"
      else {echo "Em ", $usuario['dia'] - $usuario['uso'], " Dias";}  ~ Exibe a subtração dos dias. / Está Ok
       
      Resultado pretendido
       
      if ($usuario['dia'] - $usuario['uso'] <= -1) {echo "Expirado";} Exibe Expirado / Está Ok
      = 0 Exibir a palavra "Hoje"
      else {echo "Em ", $usuario['dia'] - $usuario['uso'], " Dias";} Exibe a subtração dos dias. / Está Ok
    • By PeeWee
      Opaa, o problema é o seguinte: preciso fazer uma busca no BD com esse código:
       
      $buscar = $pdo->prepare("SELECT * FROM `produtos` WHERE `titulo` LIKE '%$textoBusca%'");
              $buscar->execute();
              $retorno = array();
              $retorno['dados'] = '';
              $retorno['qtd'] = $buscar->rowCount();
              if($retorno['qtd'] >= 0){
                  while($conteudo = $buscar->fetchObject()){
                      $retorno['dados'] .= '<a href="#" id="'.$conteudo->id.':'.$conteudo->valor.'">'.utf8_encode($conteudo->titulo).'</a>';
                  }
              }
       
      O problema é que os resultados estão vindo duplicados (no BD só há 3 registros)
       
      Não tenho idéia do que fazer, se alguem puder ajudar agradeço desde já. 
       
    • By Gildvan Arley
      <?php $data = date("d/m/Y"); $fimVip = $exibir_pag["fimvip"]; $dataPag = $exibir_pag["data"]; if ($fimVip == NULL){ echo "<span class='label label-danger'>Aguardando Pagamento</span>"; } else if ($fimVip < $data){ echo "<span class='label label-success'>Vip ativado</span>"; } else if ($fimVip == $data){ echo "<span class='label label-info'>Acaba hoje</span>"; } else if ($fimVip > $data){ echo "<span class='label label-danger'>Vip Removido</span>"; } ?> Estou com um problema
      o else só esta indo ate o Vip Ativado o restante não vai mais.
      assim que o jogador se cadastra ele recebe a data como NULL de pagamento, por isso usei ali $fimVip == NULL
       
      Print do painel
      http://prntscr.com/po5ph2
    • By Mfenoglio
      Galera boa tarde, estou com o seguinte problema.
      Eu quero fazer uma conta entre duas tabelas se for PAGO ou RECEBIDO.
      Minha query

       
      SELECT F10_CODBANCO, F10_VALOR, F0S5_RECPAG, SUM(S05_VALOR) AS SVALMOV, G27_N35OMEBAN5CO FROM F10, F05, G27 WHERE FS10_GRUPO = F05_GRUPO AND F10_EMPESA = F0X5_EMPRESA AND F_FILIAL d= F05_FILIAL AND Fa10_CGODBANCO = F05_BANCO AXND F10_GRUPO = G27_G AND F1MPARESA = G27_EAMPRESDA AND F10_FILIAL = G27_FILIAL AND F10_CODBANCO = G27_CODIGO AND FZ10_VALOR <> 0 GROUAP BYA F10_CODCBANCO, FA10_VALOR, F05_RECGHPAG, G27_NHOMEBANAO AORDER BY F10D_CODANCFO  
      o que eu quero é o seguinte, Se F05_RECPAG for igual a P então faça F10_VALOR - SUM(F05_VALOR) AS VALMOV .... agora se for igual a R faça F10_VALOR + SUM(F05_VALOR) AS VALMOV.
       
      Agradeço quem puder me ajudar. vlw
×

Important Information

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