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

Me Ajudem Please


Chkaus

Pergunta

Olá pessoal do ScriptBrasil. To precisando de uma ajuda!!!

To fazendo uma biblioteca online pra minha escola porem não consigo colocar 3 records diferentes por linha. O máximo que consigo é que fiquem 3 records porem iguais. dry.gif

Uso ASP e BD Access.

Tipo... tem os campos livro e foto.

Alguém me ajuda por favor

valeu!!! blink.gif

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Eu estava vendo outros códigos seus em outros tópicos e tentei fazer... mas não deu certo.

Sou super novato. Tava usando esse código... Me ajude Plzzzz:

<%@ Language=VBScript %>
<% Option Explicit %>
<% session.LCID= 1046  %>
<%
' Operação de conexão ao Banco de Dados
dim bdconect 
dim provider
bdconect = "" & server.mappath("banco/biblioteca.mdb") & ""
provider = "Microsoft.Jet.OLEDB.4.0"
%>

<%
dim sql
dim CS
dim RS
dim x

' objects
Set CS = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

' connection string (info in connectionstring.asp)
CS.ConnectionString = bdconect
CS.Provider = provider
CS.Open

sql = "SELECT * FROM catalogo ORDER BY ID DESC"

total = sql.recordcount
Colunas = 5

%>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">
<%
X = 1
Y = 0
WHILE NOT SQL.EOF <= total 

IF cor ="#FFFF99" THEN
cor = "#EEEEEE"
ELSE
cor ="#FFFF99"
END IF

%><font face="Verdana"> </font>
<%IF Y = 0 THEN%><tr><%END IF%><font face="Verdana">
<%IF X < total THEN%>
<td width="303" align="center" height="18" bgcolor="<%=cor%>" >
<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=SQL("capitulo")%>"><%=RS("livro")&" "&SQL("foto")%></a></font></td>
<%ELSE%>
<td width="303" align="center" height="18" bgcolor="<%=cor%>" >
<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=SQL("capitulo")%>"><%=RS("livro")&" "&SQL("foto")%></a></font></td>
<%FOR I = total mod Colunas TO Colunas - 1%>
<%NEXT%>
<%END IF%>
<%IF Y = Colunas THEN%></tr><%END IF%>
<%
X = X + 1
Y = Y + 1
IF Y = Colunas THEN
Y = 0
END IF
SQL.MOVENEXT
WEND
%> </font>
</table></center>
</div>
      </body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

ohmy.gif Caraca... acho que já estou te enchendo não é?...

Bom... fiz o que você disse e deu um erro... dei uma olhada nos códigos e achei um erro. A linha com o cod:

<a href="capitulo.asp?capitulo=<%=tab("livro")%>"><%=tab("foto")&" "&tab("foto")%></a></font></td>

Os campos estavam com nomes que não tinham no BD. ai arrumei e agora aparece esse erro que eu não faço ideia do que seja:

Error Type:

ADODB.Field (0x80020009)

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/biblioteca/default.asp

Browser Type:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

Page:

GET /biblioteca/default.asp

blink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Caraca... pior que no PC que eu to não tem Access. Vou verificar hj quando chegar em casa e amanhã eu posto a resposta. Andréia... Muito obrigado pela dedicação... Acho que nunca ví um forum assim como o do ScriptBrasil. Realmente vou fazer o maximo pra aprender ASP (pois estou tentando aprender sozinho) e um dia poder ajudar outras pessoas no forum. Um Grande Abraço e até amanhã!!! laugh.giflaugh.giflaugh.giflaugh.gif

Link para o comentário
Compartilhar em outros sites

  • 0

ta fazendo um loop dentro do while com o for!

quando for o ultimo registro vai dar erro, depois que colocar o rs.movenext coloca um if ra ver se rs é EOF

abraços

----- edited -----

while not tab.EOF and linha <= quant

IF cor ="#FFFF99" THEN

cor = "#EEEEEE"

ELSE

cor ="#FFFF99"

END IF

%>

<tr bgcolor="<%= cor %>">

<%

for i=0 to 2

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<% If tab.EOF then  %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b></font></td>

<% else %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=tab("capitulo")%>"><%=tab("livro")&" "&tab("foto")%></a></font></td>

<% end if %>

<%

if i < 2 then tab.MoveNext

next

tab.MoveNext

%>

</tr>

<%

Wend

%>

não testei amigo, mas deve tá beleza ae!

abraços

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

  • 0

Oi!

Andreia, realmente tem um "erro" no seu código faça um teste para quatro registros.

De qualquer for sempre existe mais de uma forma de se implementar determinada rotina.

Uma outra sugestão, ta ai embaixo. Acho que economiza pelo menos um teste por loop em relação a solução do fercosmig. A qual não tenho certeza, nunca testei, mas acho que vai dar erro também. Pois vai tentar fazer um MoveNext quando o ponteiro já está no fim do Recordset (EOF igual a TRUE).

<%@ Language=VBScript %>

<% session.LCID= 1046  %>

<%

' Operação de conexão ao Banco de Dados

set conn = createobject("adodb.connection")

conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("banco/biblioteca.mdb")

set tab = createobject("adodb.recordset")

set tab.activeconnection = conn

sql = "SELECT * FROM catalogo ORDER BY ID DESC"

tab.open sql, conn, 3,3

total = tab.RecordCount

%>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">

<%

i=0

<tr bgcolor="#FFFF99">

DO while not tab.EOF

i=i+1

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=tab("capitulo")%>"><%=tab("livro")&" "&tab("foto")%></a></font></td>

<%

   If i = 3 Then

    i = 0

    IF cor ="#FFFF99" THEN

               cor = "#EEEEEE"

    ELSE

               cor ="#FFFF99"

    END IF

    Response.Write "</tr><tr bgcolor=""" & cor & """>" & Chr(13)

   End If

   rs.MoveNext

Loop

'Este trecho é para garantir que a última linha tenha três colunas.

  If j <> 0 Then

   Do While j < 3

    Response.Write "<td>&nbsp;</td>" & Chr(13)

    j = j + 1

   Loop

  End If

%>

</tr>

</table>

</center>

</div>

</body>

</html>

rolleyes.gifblink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

alguém me ajuda... o meu código está assim agora

O que há de errado?

<%@ Language=VBScript %>

<% Option Explicit %>

<% session.LCID= 1046  %>

<%

' Operação de conexão ao Banco de Dados

dim bdconect

dim provider

bdconect = "" & server.mappath("bd/loja.mdb") & ""

provider = "Microsoft.Jet.OLEDB.4.0"

%><html>

<title> .:: Loja Virtual HDC ::.</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<STYLE type="text/css">

<!--

a:link {text-decoration: none;color: #1C977B}

a:active {text-decoration: none;}

a:visited {text-decoration: none;color: #1C977B}

a:hover {text-decoration: underline;color: #1C977B}

.form {

font-family: Verdana;

font-size: 10px;

color: #333333;

border: 1px solid #C0C0C0;

background-color: #F5F5F5;

}

-->

</STYLE>

</head>

<%

dim sql

dim CS

dim RS

' Objetos

Set CS = Server.CreateObject("ADODB.Connection")

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

' Conexao

CS.ConnectionString = bdconect

CS.Provider = provider

CS.Open

set rs.activeconnection = cs

sql = "SELECT * FROM produtos ORDER BY ID DESC"

rs.open sql, cs, 3,3

total = rs.RecordCount

%>

<center>

<table width="606" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" height="18">

<%

i=0

<tr bgcolor="#FFFF99">

DO while not tab.EOF

i=i+1

%>

<td width="303" align="center" height="18" bgcolor="<%=cor%>" >

<% Response.Write "" & rs("nome") & "" %>

<p align="left"><font size="2" face="Arial"><b>&nbsp;</b><a href="capitulo.asp?capitulo=<%=rs("nome")%>"><%=rs("valor")&" "&rs("foto")%></a></font></td>

<%

   If i = 3 Then

    i = 0

    IF cor ="#FFFF99" THEN

               cor = "#EEEEEE"

    ELSE

               cor ="#FFFF99"

    END IF

    Response.Write "</tr><tr bgcolor=""" & cor & """>" & Chr(13)

   End If

   rs.MoveNext

Loop

'Este trecho é para garantir que a última linha tenha três colunas.

  If j <> 0 Then

   Do While j < 3

    Response.Write "<td>&nbsp;</td>" & Chr(13)

    j = j + 1

   Loop

  End If

%>

</tr>

</table>

</center>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

estou com muito serviço agora, portando só vou colocar o esqueleto do código:

' coloque aki a conexao com o banco
' crie o recordset

dim controle
controle = 0
response.write "<table><tr>"
Do while not Recordset.eof
   controle = controle + 1
   response.write "<td>" & recordset("id") & "<br>" & recordset("produto")  & recordset("disponivel") & "</td>"
   if controle mod 3 = 0 then
      response.write "</tr><tr>"
   end if
   recordset.MoveNext
Loop
response.write "</tr></table>"

entendeu???

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,1k
    • Posts
      651,7k
×
×
  • Criar Novo...