Ir para conteúdo
Fórum Script Brasil
  • 0

Somar, multiplicar.. enfim, fazer a média entre valores de tabelas diferentes


wcrantonio

Pergunta

Estou tendo problemas para entender o que devo fazer para poder multiplicar os valores das notas da célula de uma tabela e multiplicar por 5, os valores das células de outra tabela e multiplicar por 3, o valor das células de outra e multiplicar por 2, somar o resultado da multiplicação das notas de cada célula e dividir por 10 para saber a média.

 

 

tabelas.png

Editado por wcrantonio
melhor explicado
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Depois de estudar e quebrar um pouco a cabeça a resposta até me pareceu óbvia.

Eu não preciso guardar os resultados em uma nova tabela só preciso mostra-los.

Conectei as tabelas  utilizando INNER JOIN conseguindo assim fazer as operações necessárias e resultar na média final.

Abaixo meu código com a maneira como resolvi esse problema. Pra o código não ficar extenso transcrevia apenas uma matéria (prt = as notas de português).

O MYSQL está resolvido agora não sei como faço isso aparecer em PHP... mas  vamos lá.


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
                  

 

Link para o comentário
Compartilhar em outros sites

  • 0

Agora vamos para a segunda parte do problema.

Onde estou errando que não consigo printar a média final (prtm)?

<?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>

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...