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

Como fazer de um registro, título de coluna


Guilherme Teixeira

Pergunta

Olá amigos, peguei um site pra refazer, e me deparei com um problema.

Existe lá uma tabela que se chama 'Presenca' com os campos.

Codigo_data,

Serie,

Materia,

Dia,

Mes,

Ano,

Bimestre,

Aluno,

Presenca

Eu gostaria de dispor numa página da seguinte forma:

1- Cria colunas onde vou colocar o nome do aluno e também colunas com as diferentes datas que existem nos registros. Mas vale lembra que em um mesmo dia pode existir duas aulas. então a data tem que se repetir conforme a coluna aula ( tera os registros - 1ªaula, 2ª aula etc...)

2- Dispor as fatas.

Aluno -----25---------26---------26-----------27-----------

Gui---------P----------P-----------F-------------F-----------

João--------F----------F-----------F-------------P----------

Eu me viro bem em SQL, só num tenho uma ideia lógica pra eu fazer isso com os registros e fazer as colunas.

Se puderem me ajudar eu agradeço

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Se você colocar um loop while abraçando as tags <tr> de sua tabela vai fazer com que as linhas aumentem junto com as infs... já se você colocar um loop abraçando as tags <td> vai fazer com que as colunas aumentem juto com as infs...

Sacou?

[]'s Rafael Spilki

Entendi +/-, então eu preciso fazer uma SQL que identifique as datas e outra que identifique os alunos e suas faltas?

Link para o comentário
Compartilhar em outros sites

  • 0

Pode ser tudo na mesma query... você ira identificar pelos recordsets...

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

ComandoSQL = "SELECT * FROM sua_tab"
Set ObjRs = objConn.Execute(ComandoSQL)
depois basta fazer os loops dos recordsets ex.:
<%While Not objRS.EOF %>
<tr> 
<td><%Response.write objRS("nome_campo")%></td>
</tr>
<%objRS.MoveNext
Wend%>

neste caso acima as LINHAS que aumentariam em função da infs...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Pode ser tudo na mesma query... você ira identificar pelos recordsets...

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("bd.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"

ComandoSQL = "SELECT * FROM sua_tab"
Set ObjRs = objConn.Execute(ComandoSQL)
depois basta fazer os loops dos recordsets ex.:
<%While Not objRS.EOF %>
<tr> 
<td><%Response.write objRS("nome_campo")%></td>
</tr>
<%objRS.MoveNext
Wend%>

neste caso acima as LINHAS que aumentariam em função da infs...

[]'s Rafael Spilki

desculpe-me Rafael, mas desta forma ele vai criar uma linha com cada RecordSet

O que qro é o seguite

Aluno----------23---------------25------------------25-------------- <- Essas datas ele pega da tabela entende?

Gui-------------P----------------f--------------------F---------------

Bia-------------P----------------P-------------------F-----------------

O nome vem da mesma tabela e as faltas e presença também, mas elas tem q ser relativas ao dia q está no topo entendeu?????

desculpe-me se não entendi sua lógica!

Link para o comentário
Compartilhar em outros sites

  • 0
Aí você terá que usar duas querys, send uma dentro do loop da outra... e com as devidas clausulas de where...

Otimo mas tenho q fazer uma pra gerar a coluna de datas certo?

então Tenho q fazer um SELECT DISTINCT dos campos dia, mes e aula, pois existem varios no bd.

Não está certo?

Qual q melhor forma para que eu faça essa SQL?

Porque usando essa SQl ele ainda repete todos

SELECT DISTINCT

Presenca.dia,

Presenca.mes,

Presenca.aula

FROM

Presenca

WHERE

(Presenca.Serie = 16) AND

(Presenca.Bimestre = 1)

ORDER BY

Presenca.Dia,

Presenca.aula,

Presenca.mes

Editado por Guilherme Teixeira
Link para o comentário
Compartilhar em outros sites

  • 0

Ué... deve ser outra coisa então... porque o distinct "remove" registros duplicados, devolvendo apenas um registro de cada coluna...

a sintaxe dele é assim:

sql = "select distinct nome_campo from nome_da_tabela"
tente trocar sua sintaxe para (campo serie e bimestre em formato número):
sql = " select distinct dia, mes, aula from presenca where serie = 16 and bimestre = 1 order by dia, aula, mes asc"
já se os campos serie e bimestre estiverem em formato texto:
sql = " select distinct dia, mes, aula from presenca where serie = '16' and bimestre = '1' order by dia, aula, mes asc"

[]'s Rafael Spilki

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