Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Erro de paginação !!!

Recommended Posts

DESCOBRI O SEU PROBLEMA...

VOCE NAO ESTA PASSANDO O NOME DA CATEGORIA PARA AS PÁGINAS... VEJA SEUS LINKS PARA PAGINAS

 

PAGINA QUE VOCE PASSOU:

http://www.nomeubairrotem.com.br/verBairro...Santa%20Cândida

 

LINK DA 2ª PAGINA:

http://www.nomeubairrotem.com.br/verBairro.asp?pagina=2

 

COMO DEVERIA SER...

http://www.nomeubairrotem.com.br/verBairro...ândida&pagina=2

 

 

OK?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se eu entendi tenho que encerir a mesma variavel qu e eu ja tenho na pagina de categorias na pagina de detalhes onde aparecem os detalhes da categoria ou bairro referernete, isto ?

 

assim:

 

ASP [/tr][tr]<a href="verCat.asp?<%= MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("categoria").Value %>">[/tr]

 

o problema é que eu não estou conseguindo inserir esta variavel dentro da linha, no código acima, eu estou com (<% %> ) as tags de asp abertas e fechadas dentro de um html. Como coloco o mesmo código dentro das tags asp quando elas ja estão abertas. como neste caso.

 

assim:

 

ASP [/tr][tr]If pagina <> 1 Then

Response.Write "<b>[ <a href=verCat.asp?pagina="&primeira&">Primeira Página</a></b> "

End If

[/tr]

 

A tag (<% %> ) ja se encontrão abertas, ai como é que eu vou colocar, eu tentei de varias formas mas ele nãoa consegue charmas o link, não sei qual é a instrução que devo colocar no meio ou dentro do link para que ele chame o link corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<a href="verCat.asp?<%= MM_keepBoth & MM_joinChar(MM_keepBoth) & "&categoria=" & RsBairro.Fields.Item("categoria").Value %>">acho que faltava só o & de concatenação...

Compartilhar este post


Link para o post
Compartilhar em outros sites

è tentei desta forma antes, mas não deu certo acho que não consegui explicar bem, é assim, tenho a seguinte linha na pagina que tem as categorias, que lincam para a pagina de detalhes.

 

Código..

 

ASP [/tr][tr]<a href="verCat.asp?<%= MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("categoria").Value %>">[/tr]

 

Como pode ver é um código html simples onde tenho um link para a pagina de detalhes verCat.asp, dentro do link eu abro as tags asp (<% %> ) normalmente. Porem no código a seguir é um código de paginação onde todo o conteúdo do link ja se encontra dentro deas tags asp (<% %> ), ai 1 perguntas. Eu posso abrir novamente as tags asp ( <% %> ) dentro delas mesmas ?

Segundo o amigo FABRICIOGOMES, eu estou fazendo referencia errada dentro do link, por isso ele não esta funcionando, ele informou que eu deveria usar algo + ou - assim;

 

PAGINA QUE VOCE PASSOU:

http://www.nomeubairrotem.com.br/verBairro...Santa%20Cândida

 

LINK DA 2ª PAGINA:

http://www.nomeubairrotem.com.br/verBairro.asp?pagina=2

 

COMO DEVERIA SER...

http://www.nomeubairrotem.com.br/verBairro...ândida&pagina=2

 

e é ai é que eu não consegui fazer, porque como viu no código acima, eu estou utilizando um código ja dentro das tags asp ( <% %> ) quando eu coloco o código

 

ASP [/tr][tr]?<%= MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("categoria").Value %>[/tr]

 

ele não aceita, eu acredito ser pelo fato que eu ja estou com as tags abertas~, não sei se é isto.

 

o link no qual eu devo implementar o códio é o seguinte:

 

ASP [/tr][tr]<%

'Inicio do loop e criação da impreção da paginação

RsBairro.MoveNext

Wend

 

anterior = pagina - 1

proxima = pagina + 1

ultima = RsBairro.PageCount

primeira = 1

ultm2 = FormatNumber(RsBairro.PageCount - 1,0)

If pagina <> 1 Then

Response.Write "<b>[ <a href=verBairro.asp?pagina="&primeira&">Primeira Página</a></b> "

End If

If pagina > 1 AND pagina <> 2 Then

Response.Write "<b>[ <a href=verBairro.asp?pagina="&anterior - 1&">"&anterior - 1&"</a> ]</b> "

End If

If pagina > 1 Then

Response.Write "<b>[ <a href=verBairro.asp?pagina="&anterior&">"&anterior&"</a> ]</b> "

End If

Response.Write "<b>[ "&pagina&" ]</b> "

If Not RsBairro.EOF Then

Response.Write "<b>[ <a href=verBairro.asp?pagina="&proxima&">"&proxima&"</a> ]</b> "

End If

If Not RsBairro.EOF AND pagina <> ultima AND pagina <> ultm2 Then

Response.Write "<b>[ <a href=verBairro.asp?pagina="&proxima + 1&">"&proxima + 1&"</a> ]</b> "

End If

If Not RsBairro.EOF Then

Response.Write "<b><a href=verBairro.asp?pagina="&ultima&">Última Página</a> »</b> "

End If

End If

%>

[/tr]

 

Uma das formas que tentei fazer foi assim...

 

ASP [/tr][tr]If pagina <> 1 Then

Response.Write "<b>[ <a href=verCat.asp?=MM_keepBoth & MM_joinChar(MM_keepBoth) & ""categoria="" & RsBairro.Fields.Item(""categoria"").Value"">&pagina="&primeira&">Primeira Página</a></b> "

End If

[/tr]

que não deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, depois de muito bater a cabeça, consegui fazer funcionar de forma correta os links de pagianção.

Mas como azar é pouco, agora esta dando outro erro. Acontece o seguinte.

Exibe normalmente os links, funciona tudo correto até o ultimo link de paginação, ou seja vamos dar um exemplo de que eu tenha 5 paginas para exibir, assim:

 

[1] [2] [3] Última Página »

 

ou assim

 

Primeira Página [ 2 ] [ 3 ] [ 4 ] [ 5 ] Última Página »

 

Quando eu clico no link da ultima pagina ( ou diretamente no link Última Página ») ele retorna o seguinte erro:

 

ADODB.Field error '800a0bcd'

 

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

 

/ver_2T.asp, line 160

 

Ai eu acabo morrendo na praia http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Ai vai o código completo da pagina em questão

 

ASP [/tr][tr]

 

<!--#include file="Connections/conBairro.asp" -->

<%

Dim RsBairro__MMColParam

RsBairro__MMColParam = "1"

If (Request.QueryString("categoria") <> "") Then

RsBairro__MMColParam = Request.QueryString("categoria")

End If

%>

 

<%

Dim RsBairro

Dim RsBairro_numRows

 

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

RsBairro.ActiveConnection = MM_conBairro_STRING

'Conexão com Banco de dados

RsBairro.Source = "SELECT * FROM CadastroServBairro WHERE bairro_rec = '" + Replace(RsBairro__MMColParam, "'", "''") + "' ORDER BY bairro_rec ASC"

RsBairro.CursorType = 3

RsBairro.CursorLocation = 2

RsBairro.LockType = 3

RsBairro.Open()

RsBairro_numRows = 0

%>

<%

'Função que abre os links

Function MM_joinChar(firstItem)

If (firstItem <> "") Then

MM_joinChar = "&"

Else

MM_joinChar = ""

End If

End Function

%>

<%

'Inicio da função de paginção

registros = 5

pagina = Request.QueryString("pagina")

If pagina = "" Then

pagina = 1

End If

RsBairro.PageSize = registros

 

'Se não temos nada no banco de dados

If RsBairro.EOF Then

Response.Write "<center><font face=""arial"" color=""red"" size=""3""><b>[ No momento não temos nenhum serviço cadastrado para este Bairro. Caso queira ver um serviço cadastrado neste Bairro, entre em <a href=""mailto:comercial@nomeubairrotem.com.br"">contato</a> conosco. ]</font></center>"

'Se temos registro então

Else

'RsBairro.AbsolutePage = pagina

RsBairro.AbsolutePage = CInt(pagina)

While Not RsBairro.EOF AND x < RsBairro.PageSize

x = x + 1

'função que abre a janela em tamanho peRsBairroonalizado nos links

%>

<%

'Iniciamos a impressão dos dados que tem no Banco de Dados

'Função pra fazer os links abrrirem em um apgina personalizada, só é utilizado em algumas paginas

%>

<script language="JavaScript">

<!--

function abre_foto(width, height, nome) {

var top; var left;

top = ( (screen.height/2) - (height/2) )

left = ( (screen.width/2) - (width/2) )

window.open('',nome,'width='+width+',height='+height+',scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,left='+left+',top='+top);

}

function confirm_delete(form) {

if (confirm("Tem certeza que deseja excluir o registro?")) {

document[form].action = '<%=Request.ServerVariables("SCRIPT_NAME")%>';

document[form].submit();

}

}

//-->

</SCRIPT>

<link href="stylo.css" rel="stylesheet" type="text/css">

 

<body leftmargin="0" topmargin="0">

<table width="100%" border="0">

 

<tr bgcolor="#FF9900" class="MenuEsq">

 

<td colspan="3"> </td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Empresa:</font></strong><font size="2">

<%=(RsBairro.Fields.Item("cliente").Value)%></font></font></td>

</tr>

<tr bgcolor="#009900" class="MenuEsq">

<td colspan="3" class="tabela"><font color="#FFFFFF"><strong><font size="2">Categoria:</font></strong></font>

<font color="#FFFFFF" size="2"><%=(RsBairro.Fields.Item("categoria_rec").Value)%></font></td>

</tr>

<tr class="MenuEsq">

<td width="18%" rowspan="9" class="tabela"> <div align="center">

<table width="100%" border="0">

<tr>

<td class="tituloMenu"> <p align="center"><a href="foto_cli/<%=(RSBairro.Fields.Item("foto").Value)%>" onClick="abre_foto(350, 350, 'janela_foto')" target="janela_foto"><img src="foto_cli/<%=(RsBairro.Fields.Item("foto").Value)%>" width="120" height="76" border="0"></a></td>

</tr>

<tr>

<td class="tituloMenu" bgcolor="#009900"><font color="#FFFFFF">Informações:</font></td>

</tr>

<tr>

<td><%=(RsBairro.Fields.Item("dados").Value)%></td>

</tr>

</table>

<p> </p>

</div></td>

 

<td width="45" class="tituloMenu">Bairro:</td>

<td width="73%" class="tabela"><%=(RsBairro.Fields.Item("bairro_rec").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Endereço:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("end").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Telefone</td>

<td class="MenuEsq"><%=(RsBairro.Fields.Item("tel").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Fax:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("fax").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Celular:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("cel").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">E-mail</td>

<td class="tabela"><a href="mailto:<%=(RsBairro.Fields.Item("email").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("email").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Site</td>

<td class="tabela"><a href="http://<%=(RsBairro.Fields.Item("site").Value)%>" target="_blank"><%=(RsBairro.Fields.Item("site").Value)%></a></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Contato:</td>

<td class="tabela"><%=(RsBairro.Fields.Item("contato").Value)%></td>

</tr>

<tr>

<td width="45" class="tituloMenu">Mapa:</td>

<td class="tabela"><a href="<%=(RSBairro.Fields.Item("mapa").Value)%>" onClick="abre_foto(570, 340, 'janela_foto')" target="janela_foto">Clique

para ver o mapa da localização</a> </td>

</tr>

 

<tr bgcolor="#CCCCCC">

<td height="21" colspan="3"> <div align="center"></div></td>

</tr>

</table>

<center><font face="Arial, Helvetica, sans-serif" size="2" color="#FF0000">

<%

'Final do loop e inicio criação da impreção da paginação

RsBairro.MoveNext

Wend

 

anterior = pagina - 1

proxima = pagina + 1

ultima = RsBairro.PageCount

primeira = 1

ultm2 = FormatNumber(RsBairro.PageCount - 1,0)

If pagina <> 1 Then

Response.Write "<b>[ <a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&primeira&">Primeira Página</a></b> "

End If

If pagina > 1 AND pagina <> 2 Then

Response.Write "<b>[ <a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&anterior - 1&">"&anterior - 1&"</a> ]</b> "

End If

If pagina > 1 Then

Response.Write "<b>[ <a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&anterior&">"&anterior&"</a> ]</b> "

End If

Response.Write "<b>[ "&pagina&" ]</b> "

If Not RsBairro.EOF Then

Response.Write "<b>[ <a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&proxima&">"&proxima&"</a> ]</b> "

End If

If Not RsBairro.EOF AND pagina <> ultima AND pagina <> ultm2 Then

Response.Write "<b>[ <a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&proxima + 1&">"&proxima + 1&"</a> ]</b> "

End If

If Not RsBairro.EOF Then

Response.Write "<b><a href=verBairro.asp?" & MM_keepBoth & MM_joinChar(MM_keepBoth) & "categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagina="&ultima&">Última Página</a> »</b> "

 

End If

End If

%></font></center>

 

<%

' Fecho a conexão do BD

RsBairro.Close()

Set RsBairro = Nothing

%>

 

 

[/tr]

 

Também é possivel ver o erro diretamente no servidor por aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, consegui, com ajudo de vocês, estou aprendendo bastante, e espero aprender muito mais, de qualquer forma, vou continuar tenteando resolver, caso não consiga, aguardo ajuda até a manhã. Valeu a força por enquanto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é como eu pensei...no final do codigo, voce escreve os numeros das paginas...porém, o que ocorre quando voce esta na ultima página? o RsBairro está EOF... Depois o Wend (While Not RsBairro.EOF AND x < RsBairro.PageSize), na ultima pagina ele sai do loop por uma das condicoes, que provavelmente será EOFpor isso voce nao pode utilizar o RsBairro.Fields.Item("bairro_rec").Value porque está EOF...resumindo, voce terá que testar para cada pagina se ele está EOF...se precisar, nao utilize o valor de RsBairro.Fields.Item("bairro_rec").Value e sim de uma variavel definida no comeco do codigo, com o valor do bairro a ser pesquisado.e outra, utilize rsBairro("bairro_rec") ao inves de RsBairro.Fields.Item("bairro_rec").Value , é mais simples...Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif beleza FABRICIOGOMES

 

Fera revi todo o códio, na verda não só revi, como refiz todo ele, para ver se eue estava me perdendo em alguma variavel, inclusive fiz asim, conforme eu ia programando ia debugando o código para ver se ele dava erros, terminei o código todo, sem erros. Fuit testar tudo perfeito, a pagina abre mostra a paginação certinho. clico no nº seguinte para ir para a póxima pagina, tudo ok, ele realmente só vai dar erro quando chega na ultima págian, seja clicando no link ultima pagina ou no nº correspondente a ela. Eu entendi o que você quiz dizer no tópico anterior, que é se como o sistema estive interpretanto que ha valores que não coincide ou que sejam iguais, mas pelo uqe foi feito na programação não foi esta a informção que eu paasei ao código, quando se clicasse na ultima pagina ou no link ultima pagina ele deveria execultar 2 funções.

 

1- tirar o link ultima pagina

2- ir para a ultima pagina.

 

Na verdade, não sei se você chegou a ver, mas ele vai para a ultima pagina e mostra os registros que tem nela, porem no final dela da o erro que eu te passei.

Contrariando a lógica da programação, eu mudei algumas das variaver da paginação, em alguns casos ele deu erro e nem abriu, em outros abria mas quando clicava-se no link de paginação ele dava erros, porque não aceitava a variavel.

sei la. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assimna criacao dos links de paginacao, ao inves de utilizar o:...categoria=" & RsBairro.Fields.Item("bairro_rec").Value & "&pagi...usa ...categoria=" & RsBairro__MMColParam & "&pagi...falow?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara na verdade esta opção eu ja tinha tentado fazer, mas desisti pelo seguinte, funciona, oproblema é que ela não repaça o link de forma correta, ouseja na minha tabela tenho algumas categorias ou alguns bairros que são composto por 2 nomes ex: bairro Santa Cândida ou categoria Infomatica - produtos, ai o link fica quebrado ( não sei pq ) ao inves dele retorar assim:

 

http://www.nomeubairrotem.com.br/verBairro.asp?categoria=Santa Cândida&pagina=2

ele retorna assim:

 

http://www.nomeubairrotem.com.br/verBairro.asp?categoria=Santa

Ou seja não termina o link. Por isso eu não utilizei esta forma, se tiver como resolver o problema da quebra do link ai sem problemas, mas como fazer isto ?

:blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize o Server.URLEncode ele junta as palvras na URL... ;) OBS: Desculpe não ter respondido teu e-mail, mas formatei o PC, e só hoje voltei a aparecer =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe pessoal não ter respondido antes, mas que eu não estava em Casa onde normalmente eu estudo e posto no forum, mas hoje fiz as alterações que vocês me passaram e funcionou, é mais um comando que eu aprendi com a ajuda de vocês, espero um dia estar bom suficiente para também poder estar ajudando outros. Valeu a força poriquanto

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok cara, realmente se puder ajudar alguem nem que seja com alguma ideia posta que sempre é valido...

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.