Ir para conteúdo

POWERED BY:

Arquivado

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

Dias Sanches

[Resolvido] Como faço para colocar as notícias uma ao lado da out

Recommended Posts

Bom dia pessoal!

 

Tudo bem?

 

Primeiro agradeço a grande ajuda que vocês tem me dado.

 

E para não perder o costume... tenho mais uma...

 

 

Bom, tenho um sistema de notícias curtas:

 

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from maquinas order by id asc", DB

Contar = 1

Do while not nt1.Eof

Categoria = nt1("Categoria")

numero = nt1("numero")

Link = nt1("Link")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

IF Contar > 24 Then

exit do

end if

if Classe1 = "Maquinas" Then

%>

 

Ele mostra uma pequena foto e uma breve descrição, a minha dúvida é: Como faço para que as notícias não apenas só desçam, mas conte pelo menos duas colunas para o lado direito ai sim descem para a segunda linha assim por diante

 

Favor me ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Humm...

 

Se você tiver dentro de uma tabela, algo mais ou menos assim:

 

response.write "<table>"
response.write "<tr>"

ct = 0
while not rs.eof
	  if ct <> 0 AND ct mod 3 = 0 then
			response.write "</tr><tr>"
	  end if
	  response.write "<td>" & rs("noticia") & "</td>"
	  ct = ct + 1
	  rs.movenext
wend
response.write "</tr></table>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Bruno,

 

Este é o codigo completo, adicionando o que você me passou

 

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from xp order by id asc", DB

response.write "<table>"

response.write "<tr>"

Contar = 0

while not nt1.eof

if Contar <> 0 AND Contar mod 3 = 0 then

response.write "</tr><tr>"

end if

response.write "<td>" & nt1("noticia") & "</td>"

Contar = Contar + 1

rs.movenext

wend

response.write "</tr></table>"

 

Do while not nt1.Eof

Codigo = nt1("Codigo")

Nome = nt1("Nome")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

IF Contar > 24 Then

exit do

end if

if Classe1 = "INJETORAS" Then

%>

<table width="470" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>

<td width="90%" height="37" align="left" valign="bottom" class="fonte12_005100-bold"><%Response.Write Codigo%>

-

<%Response.Write Nome%>

</td>

</tr>

<tr>

<td height="35" align="left" valign="middle"> </td>

</tr>

<tr>

<td height="2" colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>

</tr>

</table>

<%

Contar = Contar + 1

end if

nt1.Movenext

Loop

%>

 

Como faço para ele interagir dentra da tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta aparecendo o seguinte erro

 

ADODB.Recordset erro '800a0cc1'

O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.

 

/teste/xp/injetoras.asp, line 153

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com a mesma instrução que você me passou mudei e deixei assim

 

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from xp order by id asc", DB

response.write "<table>"

response.write "<tr>"

Contar = 0

while not nt1.eof

Codigo = nt1("Codigo")

Nome = nt1("Nome")

mini1 = nt1("mini1")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

IF Contar > 24 Then

end if

if Classe1 = "INJETORAS" Then

if Contar <> 0 AND Contar mod 3 = 0 then

response.write "</tr><tr>"

end if

response.write "<td>" & nt1("Codigo") & nt1("Nome") & nt1("mini1") & "</td>"

Contar = Contar + 1

nt1.movenext

end if

response.write "</tr></table>"

 

 

%>

<table width="470" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>

<td width="90%" height="37" align="left" valign="bottom" class="fonte12_005100-bold"><%Response.Write Codigo%>

-

<%Response.Write Nome%>

</td>

</tr>

<tr>

<td height="35" align="left" valign="middle"> </td>

</tr>

<tr>

<td height="2" colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>

</tr>

</table>

 

Mas continua com problemas

 

Erro de compilação do Microsoft VBScript erro '800a03fa'

 

'Wend' esperado

 

/teste/xp/injetoras.asp, line 177

 

 

O que esta faltando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O segundo erro é porque você deve ter usado um while sem colocar um wend. Mas fica difícil ler seu código se você não indentar e não usar a tag code aqui do fórum, tenta fazer isso nos próximos posts.

 

Você deve colocar um wend depois de chamar a função movenext.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Bruno,

 

Fiz algumas modificações, mas infelizmente não obtive sucesso, mas creio que estou nos finalmentes

 

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from xp order by id asc", DB

 

Contar = 0

if (Contar mod 2) = 0 then

response.write "<table>"

response.write "<tr>"

Do while not nt1.Eof

Codigo = nt1("Codigo")

Nome = nt1("Nome")

mini1 = nt1("mini1")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

IF Contar > 15 Then

exit do

end if

if Classe1 = "Materias-primas" Then

%>

</p>

<table width="470" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>

<td width="90%" height="37" align="left" valign="bottom" class="fonte12_005100-bold"><%Response.Write Codigo%>

-

<%Response.Write Nome%>

</td>

</tr>

<tr>

<td height="35" align="left" valign="middle"> </td>

</tr>

<tr>

<td height="2" colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>

</tr>

</table></td>

</tr> <%

 

Contar = Contar + 1

end if

nt1.Movenext

Loop

end if %>

Creio que agora esta tudo certo, a página abre, porém não aparece mais as infos o que esta faltando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa cara,

 

Você pode me chamar de chato mas eu não vou escrever o código pronto, senão você não vai entender o que você fez, vai simplesmente usar um código que alguem fez, e isso não é programar.

 

O que eu te falei é o seguinte.

 

Normalmente você corre um loop pelo recordset e printa uma linha inteira da tabela (<tr><td></td>...<tr>) a cada iteração.

 

Para fazer o que você quer, você passa a imprimir só as células (<td>conteúdo da sua notícia</td>) em cada iteração e só imprime os <tr> a cada 3 iterações. Isso fará com que você imprima três células em cada linha.

 

Foi isso o que eu fiz naquele código inicial. Basta você adaptar o seu para fazer isso.

 

Eu passei a imprimir só os <td> com o conteudo dentro (que é um conteudo imaginário só de exemplo) e fiz um if para imprimir os <tr> somente a cada 3 iterações.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tranquilo Bruno,

 

Com essa esplicação consegui captar a idéia de como inserir

 

Vou trabalhar em cima do code que você me passou

 

Caso eu venha ter alguma questão referente este assunto posso postar?

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno,

 

Voltei

 

Passei ontem o dia estudando o código, refiz várias vezes e estou me deparando agora com um outro erro que não consegui decifrar... favor me ajude...

 

este é meu código:

<%
			Set nt1 = Server.CreateObject("ADODB.Recordset")
			nt1.Open "SELECT * from xp order by id asc", DB
			
			Do While not nt1.EOF
				  if cont=0 Then
				  Response.Write "<tr>"
				  End if
				  Response.Write "<td>"
				Codigo = nt1("Codigo")
				Nome = nt1("Nome")
				Classe1 = nt1("Classe1")
				Classe = nt1("Classe")
				Data = nt1("Data")
				Horas = nt1("Horas")
				id = nt1("id")
				if Classe1 = "INJETORAS" Then
				%>
				  <table width="473" border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>
						<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						  
<%Response.Write Codigo%>
-
<%Response.Write Nome%>						</td>
					  </tr>
					  <tr>
						<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
						  <%Response.Write Descricao%>
						</a></td>
					  </tr>
					  <tr>
						<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
					  </tr>
					</table>
				  <%
				  Do
				  Response.Write "</td>"
				  cont=cont+1
				  if cont=2 Then ' Definimos a Quantidade de colunas
				  Response.Write "</tr>"
				  cont=0
				  End if
				  nt1.MoveNext
				  Loop
				  End if
				  Loop
				  %>

Este é o erro que aparece

 

Objeto Response erro 'ASP 0251 : 80004005'

 

Limite do Buffer de Resposta Ultrapassado

 

/teste/xp/injetoras1.asp, line 0

 

A execução da página ASP fez com que o Buffer de Resposta ultrapassasse seu limite configurado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei o motivo deste último erro...

 

segundo loop está excedendo

 

Mas favor, alguém pode me ajudar?

 

Desculpe por te torrar a pasciencia..

 

Se termino com Wend ou com loop da erro o que está faltando?

 

 

Final Wend

 

Erro de compilação do Microsoft VBScript erro '800a0400'

 

Instrução esperada

 

/teste/xp/injetoras1.asp, line 190

 

Wend

^

 

------------

 

Final Loop

Erro de compilação do Microsoft VBScript erro '800a03f6'

 

'End' esperado

 

/teste/xp/injetoras1.asp, line 190

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei bem confuso, faz assim:

 

 

<%
			Set nt1 = Server.CreateObject("ADODB.Recordset")
			nt1.Open "SELECT * from xp order by id asc", DB
				Codigo = nt1("Codigo")
				Nome = nt1("Nome")
				Classe1 = nt1("Classe1")
				Classe = nt1("Classe")
				Data = nt1("Data")
				Horas = nt1("Horas")
				id = nt1("id")
 %>
<%
response.write "<tr>"

ct = 0
while not rs.eof
	  if ct <> 0 AND ct mod 3 = 0 then 'numeros de tabelas
			response.write "<td>"
	  end if
%>
				 <table width="473" border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>
						<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						  
<%Response.Write Codigo%>
-
<%Response.Write Nome%>						</td>
					  </tr>
					  <tr>
						<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">
						  <%Response.Write Descricao%>
						</a></td>
					  </tr>
					  <tr>
						<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
					  </tr>
					</table>
<%
	  ct = ct + 1
	  rs.movenext
wend
response.write "</tr>"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Loko,

 

Eu substitui o codigo, a aparece o mesmo erro anterior

 

Objeto Response erro 'ASP 0251 : 80004005'

 

Limite do Buffer de Resposta Ultrapassado

 

/teste/xp/injetoras1.asp, line 0

 

A execução da página ASP fez com que o Buffer de Resposta ultrapassasse seu limite configurado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

Set nt1 = Server.CreateObject("ADODB.Recordset")

nt1.Open "SELECT * from xp order by id asc", DB

 

Do While not nt1.EOF

if cont=0 Then

Response.Write "<tr>"

End if

Response.Write "<td>"

Codigo = nt1("Codigo")

Nome = nt1("Nome")

Classe1 = nt1("Classe1")

Classe = nt1("Classe")

Data = nt1("Data")

Horas = nt1("Horas")

id = nt1("id")

if Classe1 = "INJETORAS" Then

%>

<table width="473" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=nt1("mini1")%>" width="84" height="63" border="0" /></td>

<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">

 

<%Response.Write Codigo%>

-

<%Response.Write Nome%> </td>

</tr>

<tr>

<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=nt1("id")%>&Classe=<%Response.Write Classe%>' class="fonte12_000000-normal">

<%Response.Write Descricao%>

</a></td>

</tr>

<tr>

<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>

</tr>

</table>

<%

Do While not nt1.EOF

Response.Write "</td>"

cont=cont+1

if cont=2 Then ' Definimos a Quantidade de colunas

Response.Write "</tr>"

cont=0

End if

nt1.MoveNext

Loop

End if

Loop

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Subs o cod anterior e colque esse abaixo, lembrando de informar o caminho do bd, e poste o resultado...

 

<%
materias=request.querystring("materias")
classe=request.querystring("classe")
Set Conn= server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("informe aqui o caminho do bd.mdb")
Conn.Open DSNtest

Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * from xp order by id asc"
rs.Open SQL, conn, 3
%>
<%
response.write "<tr>"

ct = 0
while not rs.eof
	  if ct <> 0 AND ct mod 3 = 0 then 'numeros de tabelas
			response.write "<td>"
	  end if
%>
				 <table width="473" border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="10%" height="75" rowspan="2" align="left" valign="middle"><img src="<%=rs("mini1")%>" width="84" height="63" border="0" /></td>
						<td width="90%" height="25" align="left" valign="bottom" class="fonte12_005100-bold">
						  
<%=rs("Codigo")%>
-
<%=rs("Nome")%>						</td>
					  </tr>
					  <tr>
						<td height="55" align="left" valign="middle"><a href='ct-materias.asp?materias=<%=rs("id")%>&Classe=<%=rs("classe")%>' class="fonte12_000000-normal">
						 <%=rs("Descricao")%>
						</a></td>
					  </tr>
					  <tr>
						<td colspan="2"><img src="images/detalhes/traco2.gif" width="415" height="1" /></td>
					  </tr>
					</table>
<%
	  ct = ct + 1
	  rs.movenext
wend
response.write "</tr>"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo obrigado,

 

Mas só uma questão,

 

Ele aparece assim

 

registro 1 | registro 4

registro 2 | registro 5

registro 3

 

como faço para aparecer assim:

 

registro 1 | registro 2

registro 3 | registro 4

registro 5

 

 

Entendeu?

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.