Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom Dia
Estou desenvolvendo um projeto para uma escola e estou com o seguinte problema:
Existe uma tabela chamada notas que possui os seguintes campos:
idNota -> chave primária
idMatricula -> Matricula do aluno
idMateria -> Disciplina a que se refere a nota
idUnidade -> Periodo da nota
idTipoNota -> Tipo da Nota (avaliação, teste, trabalho, etc ...)
PesoNota -> Valor da nota (peso 1 ou 2)
nota -> valor da nota
Nesta tabela eu posso ter por exemplo:
4 notas na Matricula 1 da Disciplina 1 da Unidade 1 com TipoNota 1 PesoNota 1
4 notas na Matricula 1 da Disciplina 2 da Unidade 1 com TipoNota 1 PesoNota 1
4 notas na Matricula 1 da Disciplina 3 da Unidade 1 com TipoNota 1 PesoNota 1
e assim por diante
Gostaria de mostrar isto numa tabela da seguinte Maneira (se possível é claro)
Disciplina 1
[TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota]
Disciplina 2
[TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota]
Disciplina 3
[TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota] - [TipoNota] [nota]
Já tentei vários comando mas não consegui ...
é possível?
Se for na consulta, seria mais ou menos assim:
$sql = 'SELECT * FROM notas n
JOIN tabela_materias mat ON n.idMateria = mat.idMateria
JOIN tabela_tipos_de_notas not ON n.idTipoNota = not.idTipoNota
ORDER BY n.idMateria, n.idTipoNota, n.nota';
Carlos Eduardo
Obrigado
A consulta eu consigo fazer.
´
É na hora de exibir ...
Gostaria que agrupasse a notas por Disciplina:
Disciplina
nota1 nota2 nota3 nota4
Disciplina
nota1 nota2 nota3 nota4
Tem como
Tem... Dentro do loop, você testa se o titulo é igual a disciplina. De for diferente, imprime a disciplina e guarda na variável título. Mais ou menos assim.
while($rs = mysql_fetch_array($x){ // imagina que isto é o teu loop)
if ($titulo != $rs['idMateria']) {
echo $rs['idMateria'];
$titulo = $rs['idMateria'];
}Carlos Eduardo
Obrigado
Vou tentar ...
A dúvida tá na consulta ou na exibição?
Carlos Eduardo