Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedrovisk

Tabela Dinâmica

Recommended Posts

Olá!Como faço para exibir o conteúdo de um Recordset em uma tabela dinâmica. O que eu estou querendo fazer é um sistema de notícias. 1 - Tenho uma tabela com duas colunas e N linhas;2 - Preciso que cada notícia fique um uma coluna, por exemplo: se tenho 10 itens no BD, preciso que o primeiro item fique na direita, o segundo na esquerda, o terceiro, já na segunda linha, na esquerda e assim por diante.Não sei como montar essa lógica. Alguém tem ou sabe onde posso pegar um exemplo?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedrovisk, Você quer uma tabela com 2 colunas, mas quantas linhas?E se a notícia exceder o tamanho de cada quadro da tabela? Você deverá usar Mid() para recortar a notícia, já pensou nisso???Se você quiser uma tabela que se ajuste de acordo com a quantidade de notícias, é possível também... é só usar o comando For_Next. Mas preciso saber se a tabela terá um número fixo de linhas e colunas, ou se ela irá se ajustar conforme a quantidade de notícias (não aconselho!) e se a notícia deverá aparecer inteira ou só um pedaço dela...Você também poderá incluir um link para a notícia retornada da tabela, como nos sitemas de publicidade do Google AdSense. Nesse caso o site seria passado via URL... acho que não seria muito complicado não... Mas preciso saber o que você realmente quer, com maiores detalhes, para eu postar o código, tá?!Um grande abraço e Feliz 2007 a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado klonder pela resposta!O que estou querendo fazer é justamente igual ao que tem no site do iMasters. Um titulo e uma breve descrição, mas que isso fique apenas em duas colunas que ficarão em uma tabela na minha página inicial. Enquanto a quantidade de registros, irei limitar com uma opção de destaque, ou seja, vai existir uma página listando todas a notícia completa, após clicar em algum dos links. O que eu ainda não sei fazer é jogar uma noticia na coluna da esquerda e da direita desta tabela. Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedrovisk,

Irei postar aqui a lógica de contrução da tabela. Com o código VBScript abaixo você irá compreender mais ou menos como a coisa funciona, podendo adaptá-lo ao seu caso. Eu testei aqui várias vezes e funcionou perfeitamente.

 

Como eu não sei o tamanho da sua tabela, nem quantas palavras ou letras você quer deixar em cada célula, preferi generalizar o script. Dessa forma, você e outras pessoas poderão usá-lo e modificá-lo conforme suas necessidades.

 

Procurei comentar todo o código para que todos pudessem entendê-lo, principalmente para os iniciantes em ASP.

 

<%'Variavel que determina quantas linhas terá sua tabelaDim numLinhasnumLinhas = 5'Criando algumas variáveis para controle dos ciclosDim iLinhas, iColunas'Criando a tabela. Essa parte não ficará repetindo, por isso ficará fora do LoopResponse.write "<table border=1 width=400px>"   'Criando as partes da tabela que deverão se repetir, conforme os Loops   For iLinhas=1 to numLinhas step 1	   Response.write "<tr>"		   'As tags <td> merecem tratamento especial, pois elas se repetem mais vezes		   For iColunas=1 to 2 step 1			   'Se o indexador do BD chegar ao fim, não é necessário dar um MoveNext.			   'Criamos apenas uma célula vazia.			   If objRS.EOF Then				  Response.write "<td width=200>   </td>"			   'Mas o indexador não tiver chegado ao fim, imprimimos o valor do registro			   Else				 Response.write "<td width=200>" & objRS("mensagem") & "</td>"				 objRS.MoveNext			   End If		   'Loop para as tag <td>		   Next	   'Finalizando a linha com a tag </tr>	   Response.write "</tr>"   'Loop para a tag <tr>	Next'Depois de todos os Loops terem ocorrido, fechamos nossa tabelaResponse.write "</table>"%>

Bem, algumas considerações são importantes:

- Não coloquei todo o código VBScript necessário, como a conexão ao BD, a string SQL e o objeto RecordSet. Assim, você poderá adaptá-lo ao seu caso e inseri-lo em qualquer lugar da sua página. No entanto, o código acima deverá ser inserido após a criação do código para conexão ao BD (como se faz normalmente).

 

- No meu BD, havia uma coluna com nome "mensagem", por isso a utilizei no código [objRS("mensagem")]. Basta substituí-lo pelo nome que está no seu BD que irá funcionar da mesma forma.

 

Bem, acho que é só isso...

Qualquer dúvida estamos aí!

 

Um abraço e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz da seguinte forma:

 

<table width="100%" border="0" cellspacing="0" cellpadding="0"><%Dim numLinhas	numLinhas = 10Dim iLinhas, iColunasFor iLinhas = 1 To numLinhas Step 1%>		  <tr align="left" class="Lista_rs">		  <%		  For iColunas = 1 to 4 Step 1			  If rs3.EOF Then		  %>			<td bgcolor="#DDEEEE"> </td>			<%Else%><td bgcolor="#DDEEEE"><input name="Acesso_Sistema" type="checkbox" id="Acesso_Sistema" value="<%=rs3("Handle")%>"><%=rs3("NomeForn")%></td>			<%			rs3.MoveNext			End If		  Next			%>			</tr><%Next%>	  </table>

Mas eu gostaria de definir a quantidade de LINHAS existentes com a qunatidade de dados no banco, pois da forma que está, exibe linhas a mais que a quantidade de itens trazida do banco.

A quantidade de itens deve ser a mesma quantidade de IDs do banco.

Como eu faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi pq.No código informado pelo KLODER, ele informa a quantidade de linhas 10, mas eu não quero definir a quantidade, quero que seja definida pelo próprio conteúdo da tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.