Jump to content
aw10home

Não consigo fazer print das informações do SELECT

Recommended Posts

Quando faço a consulta no phpMyadmim consigo o resultado esperado. Mas pelo visto não estou sabendo fazer direito em PHP. O que estou errando? Porque não consigo fazer a média (prtm) "aparecer"?

abaixo meu código.

<?php
if (isset($_GET['$id_aluno'])){
  $id_aluno = addslashes($_GET['$id_aluno']);}
elseif (isset($_GET['id_aluno'])){
    $id_aluno = addslashes($_GET['id_aluno']);}//addslashes evita sqlinjection
else{
    $id_aluno=("");
  }
$informacao=$con->prepare("SELECT a.id_aluno, a.nome, SUM(((b.prt*5)+(m.prt*3)+(v.prt*2))/10 ) as prtm
                                          FROM aluno a
                                          inner join avb1 b on a.id_aluno = b.id_aluno
                                           inner join avm2 m on a.id_aluno = m.id_aluno
                                            inner join avp v on a.id_aluno = v.id_aluno
                                          group by  a.id_aluno, a.nome
                  WHERE a.id_aluno = $id_usuario");
       $informacao->execute();
?>
         <!------------>
              		<table class="cBolt">
              			<tr>
                      <td>Avaliação</td>
              				<td>Bim.</td>
              					<td>Português</td>
              					</tr>
              			<?php
      						 while($linha=$informacao->fetch(PDO::FETCH_ASSOC)){
      						 	?>
              			 <tr>
                      <td>Média</td>
              				<td></td>
              					<td><?php echo $linha['prtm'];?></td>
              					 </tr>
  	            					   	<?php
    										 }

   												 ?>

              		</table>

 

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 marco tulio sousa
      Boa tarde,
       
      FIz a declaração abaixo e tinha expectativa que o relatório retornado tivesse datas de inicio e termino de afastamento e ferias.
      Afastamentos estão em 1 tabela e férias em outra.
      Erro ORA-000936
      Que devo fazer?
       
       
      SELECT 
      SUBSTR(RHCGED_ALT_SIT_FUN.CODIGO, -6)
      Matric,
      RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL,
      CASE
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1216' THEN 'ATESTADO'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1211' THEN 'INSS'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1220' THEN 'INSS'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1218' THEN 'MATERNID'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1118' THEN 'MATERNIDADE'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1318' THEN 'PATERNIDADE'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1210' THEN 'LIC REMUN'
      END TIPO_AFAST,
      TO_DATE(RHCGED_ALT_SIT_FUN.DATA_INIC_SITUACAO) DT_INIC_AFAST,
      TO_DATE(RHCGED_ALT_SIT_FUN.DATA_FIM_SITUACAO) DT_FIM_AFAST,
      TO_DATE(RHFERI_FERIAS.DT_INI_GOZO) DT_INIC_FERIAS,
      TO_DATE(RHFERI_FERIAS.DT_FIM_GOZO) DT_FIM_FERIAS
       
      FROM CRHH.RHCGED_ALT_SIT_FUN
      INNER JOIN CRHH.RHFERI_FERIAS ON RHCGED_ALT_SIT_FUN.CODIGO = RHFERI_FERIAS.CODIGO_CONTRATO

      WHERE 
      RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL In ('1216','1211','1220','1218','1118','1318','1210')
      AND
      CRHH.RHCGED_ALT_SIT_FUN.CODIGO >=lpad(:texto_1,15,'0')
      AND RHCGED_ALT_SIT_FUN.CODIGO  <=lpad(:texto_2,15,'0')
      ORDER BY RHCGED_ALT_SIT_FUN.DATA_INIC_SITUACAO DESC
    • By osmarindy
      Boa noite Pessoal.
      Estou com o seguinte problema. Tenho duas tabelas principais "tblProjeto" e "tblItensProjeto", tenho que selecionar o projeto (tblProjeto) cujo o item 19 (tblItensProjeto) já esteja concluído (status 5) e que o item 15 (tblItensProjeto) não esteja concluído (status 5) e nem cancelado (status 4).
      Tenho o seguinte código:
      SELECT p.nmProjeto, l.nmLocalidade, f.usuario, r.nmRequisitante, p.dtSolicitacao,p.dtPrevisaoEntrega, s.nmStatus FROM tblProjeto as p inner join tblItensProjeto as i on i.idProjeto = p.idProjeto inner join tblLocalidade as l on l.idLocalidade = p.idLocalidade inner join tblFuncionario as f on f.idFuncionario = p.idFuncionario inner join tblRequisitante as r on r.idRequisitante = p.idRequisitante inner join tblStatusProj as s on s.idStatus = i.idStatus where (i.idAtividade = 19 and i.idStatus= 5 ) and (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4))
      Se executo um  filtro de cada vez (where i.idAtividade = 19 and i.idStatus= 5 ) ou (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4)) eles trazem resultados, mas quando deixo os dois filtros não funciona.
      Possuo 5 projetos que estão com a atividade 19 concluída e atividade 15 pendente. mas, não consigo com esse select trazer a informação. Alguém sabe como posso resolver?
    • By lucianfpaula
      Galera tenha a seguinte duvida, tenho 3 tabelas onde estou trazendo os dados e preciso fazer um count em uma delas
       
      SELECT *  FROM tabela1 AS t1  INNER JOIN tabela2 AS t2 ON t1.idt1 = t2.idt2 INNER JOIN tabela3 AS t3 ON t3.idt3 = t1.idt1  
      a duvida é: quero manter o SELECT * mas também preciso de COUNT(t3.idT3)
      não sei se é possível fazer isso, mas gostaria de ter certeza antes de focar em outra solução
      desde já muito grato.
    • 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 Thiago Btos
      Boa tarde pessoal.
       
      Estou travado em uma parte do select do qual preciso somar os valores de todos os registros da coluna, e usa-lo como base de calculo para outra coluna
       
      SELECT PRODUTO, HORAS, QTDE, VARIACAO FROM DUAL
       
      Meu select está retornando algo assim:
       
      PRODUTO | HORAS | QTDE | VARIACAO
            A           |    2        |    20    |      5
            B           |    6        |    25    |      3
            C           |    5        |    70    |      9
            D           |    8        |    30    |      2
      --------------------------------------------------------
      Total           |    21     |  145    |      
       
      Preciso criar uma nova coluna com a formula (Total Qtde / Total horas) * variação ficando assim:
      PRODUTO | HORAS | QTDE | VARIACAO | CONTA
            A           |    2        |    20    |      5             |  34.52
            B           |    6        |    25    |      3             |  20.71
            C           |    5        |    70    |      9             |  62.14
            D           |    8        |    30    |      2             |  13.80
       
       
      A forma que estou tentando fazer é via subselect, mas ele não agrupa todas as linhas, e somente o registro da linha atual.
      SELECT PRODUTO, HORAS, QTDE, VARIACAO,
          (SELECT (SUM(QTDE) / SUM(HORAS)) * VARIACAO) AS CONTA
      FROM DUAL
       
      Dessa forma me retorna o seguinte resultado, como se estive calculando somente a linha atual e não toda a coluna.
      PRODUTO | HORAS | QTDE | VARIACAO | CONTA
            A           |    2        |    20    |      5             |  50
            B           |    6        |    25    |      3             |  12.5
            C           |    5        |    70    |      9             |  126
            D           |    8        |    30    |      2             |  7.5
       
       
       
      Espero que eu tenha conseguido explicar minha necessidade de forma que de para entender.
       
×

Important Information

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