marvi Postado Abril 15, 2009 Denunciar Share Postado Abril 15, 2009 Olá pessoal,Tenho essa: SELECT * FROM convenios <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber14"> <tr> <% Dim contador contador = 1 maxcol =4 do while not rsprincipal.eof%> <% convenios= replace(rsprincipal("convenios"),chr(10),"<br>") %> <% if contador <= maxcol then %> <td > <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber15"> <tr> <td width="100%"> <font face="Arial Narrow" color="#616161" style="font-size: 11pt"> <%=convenios%></font></td> </tr> </table> </td> <% contador = contador + 1 rsprincipal.movenext else %> </tr> <% contador = 1 end if loop do while contador <= maxcol %> <% contador = contador + 1 loop %> </table>e ele conta em ordem alfabética na horizontal e gostaria que fosse na vertical.Tipo:Ele estar assim:A, B, CD, E, FE queria que ficasse assim:A D GB EC FA tabela acima, em ASP, faz ele contar em horizontal, mas a orderm alfabética não é em vertical, tem como?Desde já, agradeçoMarcelo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Abril 15, 2009 Denunciar Share Postado Abril 15, 2009 cara não entendi nd, mas isso é melhor ficar em asp do q em sql. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 15, 2009 Autor Denunciar Share Postado Abril 15, 2009 O meu ASP acima ele ler de forma horizontal os dados que vem do bancotipo:A B C DE F G HAssim estar certo, ok...Mas, queria que além de continuar na horizontal, como já estar, quero que ele conte em ordem alfabética mas na vertical e exibindo as informações na horizontal.Como ele já faz o processo na horizontal, só falta aí colocar em ordem alfabética na vertical, tipo:A D GB E HC FPercebeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Abril 15, 2009 Denunciar Share Postado Abril 15, 2009 vixi... muito mais facil tu fala que quer ordenar o registros verticalmente....bom a tabela funciona assim...linha= <tr></tr> coluna=<td><td>bom basicamente você tera de alterar o esquema de prencher as tr e td antes do loop Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 15, 2009 Autor Denunciar Share Postado Abril 15, 2009 (editado) Quero ordenar a orderm alfabética verticalmente, mas mostrando os registros horizontalmente. Não quero colocar o registro na vertical, mas quero manter ele na horizontal e só ficando na vertical a ordem alfabética, entendeu? Editado Abril 15, 2009 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Abril 16, 2009 Denunciar Share Postado Abril 16, 2009 (editado) Eu não entendi... pra mim só tem duas formas:a b c d e f g h i j k l ...ouabcdefghijkl...é claro que apartir disso podem surgir milhoes de variáveis... mas osprincipios vão ser sempre os mesmos...Entenda pra que serve uma tag <TR> e pra que serve uma <TD>... pesquise no google... depois conseguirás resolver seu problema![]'s Rafael Spilki Editado Abril 16, 2009 por Rafael Spilki Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 19, 2009 Autor Denunciar Share Postado Abril 19, 2009 (editado) Rafael,É assim que quero:abcdefghijklMas aí deveria não só descer e sim em uma determinada quantidade ir para o ladoa ib jc kd lefghEntendeu? O sistema que tenho vai pro lado, horizontal, mas não conta em ordem alfabética como no exemplo acima e sim como o exemplo que você me falou: a b c d e f g h i j k l ...Mas quero assim:a ib jc kd lefghVeja que acima tem duas linhas verticais, uma do lado da outra...Veja na pratica: http://www.labanalise.com/convenios.aspEle vai contando e gerando de lado, horizontal as informações do banco, mas a ordem alfabética estar na horizontal também, quero que a ordem, só a ordem vá na vertical, mas as distriuição do conteudo continue indo para horizontal e caindo para proxima linha como no exemplo. Editado Abril 19, 2009 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 22, 2009 Autor Denunciar Share Postado Abril 22, 2009 Ninguém sabe como resolver?Fico grato! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LordVader BR Postado Abril 23, 2009 Denunciar Share Postado Abril 23, 2009 Ninguém sabe como resolver?Fico grato!já tentou usar um contadorzinho de registros basico?Por exemplo :Coloque um loop em cada coluna, esse loop só mostraria na tela caso o contador da coluna anterior for = a 10 ou 15 registros (whatever)....Não sei se consegui explicar direito....rsE acho que esse é um metodo meio workaround... :P Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 24, 2009 Autor Denunciar Share Postado Abril 24, 2009 (editado) Mas não quero mudar a ordem da impressão dos produtos que é horizontal, quero mudar a orderm alfabética dos protuos para vertical, tipo:1)Asa, 2)bandeira, 3)Cadeira, dadose o certo é:1)Asa, Cadeira2)bandeira, dadosVeja que a exibição é horizontal ainda, mas a ordem alfabética dos nomes dos produtos é vertical, você ler de cima para baixo e não da esquerda para direita, entende? Editado Abril 24, 2009 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Abril 24, 2009 Denunciar Share Postado Abril 24, 2009 Eu faria dois loops e dois selects... não vejo como fazer isso de outra forma...o segundo select teria que ficar dentro do primeiro, onde se faria uma consulta dinâmica ao último id da passada do recordset e apartir desse número eu pegaria o "primeiro maior" no segundo select para jogar dentro do segundo loop...Nunca tentei algo parecido! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 24, 2009 Autor Denunciar Share Postado Abril 24, 2009 Rafael,Seria assim no próprio sql:SELECT nomeFROM nomesWHERE id = (SELECT id FROM nomes2 order by id)Não entendir bem... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Abril 25, 2009 Denunciar Share Postado Abril 25, 2009 poisé... não é isso não! vou tentar esboçar alguma coisa... não prometo! mas se tiver um tempinho faço um exemplo do que eu pensei pra você ver... de qualquer forma seria só um teste... nunca tentei nada igual! Se rolar... esse final de semana tento alguma coisa por aqui...abração Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Abril 27, 2009 Autor Denunciar Share Postado Abril 27, 2009 Rafael, muito obrigado mesmoTive tentando uns métodos e dessa forma parece que a orderm funciona, contudo não consigo exibir as informações do banco: <table border="1" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber14"> <% 'Sempre declare todas as variáveis que for usar. Pode parecer que não, mas isso ajuda na performance. Dim objConn, rsPrincipal, arrConvenio Dim qtdColunas, qtdRegistros, qtdLinhas, registroAtual Dim Linha, Coluna 'Abre conexão com o banco de dados Set objConn = Server.CreateObject("ADODB.Connection") Set rsPrincipal = Server.CreateObject("ADODB.RecordSet") objConn.Open strProvider 'Coloque o seu provider aqui !! 'Adiciona ao RecordSet Principal os dados retornados e ao Contador, a quantidade de registros da tabela, 'para saber a quantidade de linhas a serem criadas. Set rsPrincipal = objConn.Execute("Select * From Convenios") 'Transforma o RecordSet em um Array, neste caso com apenas uma coluna arr(0, x), porém se a tabela tiver mais de uma coluna é possível 'tratar a linha e coluna do array, ex.: arr(x, y) arrConvenio = rsPrincipal.GetRows 'Destruindo objetos que não serão mais usados na página, a partir daqui tudo que é usado na página já está em memória e não depende mais ' do banco de dados rsPrincipal.Close objConn.Close Set rsPrincipal = Nothing Set objConn = Nothing 'Define o máximo de colunas, atribui a quantidade de registros retornados, define a quantidade de linhas "tr's" que serão criadas. 'Por padrão os arrays começam com índice 0, então, como queremos 4 colunas, o qtdColunas deve ser 3 e assim por diante. qtdColunas = 3 qtdRegistros = UBound(arrConvenio, 2) qtdLinhas = CInt(qtdRegistros / (qtdColunas + 1)) registroAtual = 0 'Para cada linha até o máximo de linhas descoberto acima For Linha = 0 To qtdLinhas 'Atribui à variável de controle de posição o número da linha atual e escreve o início da linha registroAtual = Linha Response.Write("<tr>") 'Para cada coluna, começando do zero até o número de colunas indicados, testa e escreve o valor da célula For Coluna = 0 To qtdColunas %> <td> <font face="Arial Narrow" color="#616161" style="font-size: 11pt"> <% 'Se o registro atual for menor ou igual a quantidade de registros, escreve o array na posição do registroAtual If registroAtual <= qtdRegistros Then Response.Write(arrConvenio(0, registroAtual)) 'Senão coloca um espaço em branco na célula Else Response.Write(" ") End If %> </font> </td> <% 'Acrescenta ao registro atual seu próprio valor mais a quantidade real de linhas para ser a nova posição do array. 'Dessa forma sempre o valor da posição do array será compatível com o numero de linhas. registroAtual = registroAtual + (qtdLinhas + 1) Next Response.Write("</tr>") Next %> </table>Fiz o processo, testei e rodou..rsPrincipal.Close objConn.Close Set rsPrincipal = Nothing Set objConn = NothingComo é que vou exibir em baixo as informações que vem do banco então? Tipo: rsprincipal("convenios") ou arrConvenio("convenios"), para imprimir na página?Aí que estar... mesmo assim coloque o close no fim da página e não imprimi do banco... acusando:0x800A0009)Subscrito fora do intervalo/labanalise/convenios.asp, line 9494: Response.Write(arrConvenio("convenios"))entendeu?Não sei... Mas, eu tinha que fazer algo tipo arrConvenio1 = rsprincipal("convenios") e antes do arrConvenio = rsPrincipal.GetRow, senão, ele não permite e assim ele só exibie um nome do banco e não todos, fica repetido, tipo: CASSI, CASSI, CASSI... entende? Acho que tinha que ter um eof aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
marvi
Olá pessoal,
Tenho essa:
e ele conta em ordem alfabética na horizontal e gostaria que fosse na vertical.
Tipo:
Ele estar assim:
A, B, C
D, E, F
E queria que ficasse assim:
A D G
B E
C F
A tabela acima, em ASP, faz ele contar em horizontal, mas a orderm alfabética não é em vertical, tem como?
Desde já, agradeço
Marcelo
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
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.