Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Falha com select paginado

Recommended Posts

Fala galera, estou novamente com uma tretinha, por exemplo tenho um banco de dados com 13 registros usando este select ao inves dele mostrar 2 paginas apenas para paginar ele mostra 3, já tentei encontrar a falha mas não encontrei.Vejam este select:<%id_cliente = request("id_cliente")imagem_cliente = request("imagem_cliente")Set ConexaoSQL = Server.CreateObject("ADODB.Connection")ConexaoSQL.Open = "DSN=sistema; UID=; PWS=;"registros = 10pagina = Request.QueryString("pagina")If pagina = "" Thenpagina = 1End IfSet rs = Server.Createobject("ADODB.RECORDSET")et rs.ActiveConnection = ConexaoSQLrs.CursorType = 3rs.PageSize = registrossql = "select * from noticias WHERE id_cliente = "& Request("id_cliente") &" "rs.Open sql%><input type="hidden" name="id_cliente" value="<%=rs("id_cliente")%>"><input type="hidden" name="id_noticia" value="<%=rs("id_noticia")%>"><%If rs.EOF Then%><td valign="middle" height="40"><center><b><font face="Arial, Verdana" size="3">Nenhuma notícia cadastrada até o momento !</font></b></center></td><%Elsers.AbsolutePage = paginaWhile Not rs.EOF AND x < rs.PageSizex = x + 1%><tr><td width="30%"><%if x = 1 then %><img src="images/clientes/<%=request("imagem_cliente")%>"><%end if%></td><td width="10"></td><td><font face="Arial, Verdana" size="2"><a href="#" onClick="mostrar_noticias(<%=rs("id_noticia")%>);"><%=rs("titulo")%></a><br><%=rs("data")%></font></td></tR><tr><td height="5"></td></tr><%rs.MoveNextWend%><Br></tr><Tr><td colspan="<%=x%>" height="20"></td></tr><Tr><Td colspan="<%=x%>" align="left"><font face="Arial, Verdana" size="2"><b>Página Atual: </b></font><%anterior = pagina - 1proxima = pagina + 1ultima = rs.PageCountprimeira = 1ultm2 = FormatNumber(rs.PageCount - 1,0)If pagina <> 1 ThenResponse.Write "<font face=Arial, Verdana size=2><b>« <a href=noticias.asp?pagina="&primeira&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">Primeira Página</a></b></font> "End IfIf pagina > 1 AND pagina <> 2 ThenResponse.Write "<font face=Arial, Verdana size=2><b> <a href=noticias.asp?pagina="&anterior - 1&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">"&anterior - 1&"</a> </b></font> "End IfIf pagina > 1 ThenResponse.Write "<font face=Arial, Verdana size=2><b> <a href=noticias.asp?pagina="&anterior&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">"&anterior&"</a> </b></font> "End IfResponse.Write "<font face=Arial, Verdana size=2 color=darkblue><b> "&pagina&" </b></font> "If Not rs.EOF ThenResponse.Write "<font face=Arial, Verdana size=2><b> <a href=noticias.asp?pagina="&proxima&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">"&proxima&"</a> </b></font> "End IfIf Not rs.EOF AND pagina <> ultima AND pagina <> ultm2 ThenResponse.Write "<font face=Arial, Verdana size=2><b> <a href=noticias.asp?pagina="&proxima + 1&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">"&proxima + 1&"</a> </b></font> "End IfIf Not rs.EOF ThenResponse.Write "<font face=Arial, Verdana size=2><b><a href=noticias.asp?pagina="&ultima&"&id_cliente="&id_cliente&"&imagem_cliente="&imagem_cliente&">Última Página</a> »</b></font> "End IfEnd Ifrs.CloseSet rs = NothingConexaoSQL.CloseSet ConexaoSQL = Nothing%>Se alguém puder indicar a falha fico grato,WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

nas tres paginas que mostra vem que e quantos registros???

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 10 registros por página e são mostrados titulo e data somente.então deveria ser mostrado somente 2 paginas e não tres como ele exibe, sempre adiciona uma a mais na paginação.WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

então mas o quais registros ele mostra em cada pagina para a gente saber onde ele esta duplicando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque um Response.Write rs.PageCount e verifique se está correto esse retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se esta Duplicando tenta usar o Distinct!!!!!!

 

Será que funfa?

não eh falha nisso explore...

 

eh algum parametro da paginação ou ate mesmo o laço que deve ter alguma falha...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera descobri o que estava acontecendo no script eu pegava um request("imagem_cliente") que vinha por exemplo: imasters.gif e passava para outras paginas da paginação (não sei porque isto influenciou) retirando e fazendo de outra forma funfou normalmente.valeu pelas dicas galera!!!WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só falar que da erro... rsOlha o erro que esta aparecendo quando não tem nenhum registro na tabela relacionado ao cliente no select:ADODB.Field (0x80020009)Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.Ao invés dele mostrar nada cadastrado como solicitado ele da este erro acima...Existem alguns cadastros na tabela mas quando é selecionado um cliente que não tem nenhum registro relacionado ele da este erro.WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara simples

faz isso quando não ter registro

 

ASP

[*]if rs.eof then

 

[*]

 

[*]Response.write("Não a Registro")

 

[*]

 

[*]end if

 

Falo!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito explore...bem amigo eh isso mesmoo erro acontece quando você tenta listar um registro do db que você não selecionou...ou por não exitir mesmo ou por na sua pesquisa os criterios utilizados não encontraram nada...isso provoca este tipo de erroonde para corrigir eh necessario perguntar antes de listar se encontrou algoe esta pergunta eh feita exatamente como nosso amigo colocou acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu mais uma vez, fui analisar o código e realmente estava tentando passar um hidden sem ter dados...ai não vai mesmo..rs

 

valeu !!!!

 

WebFuture

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

 

basta fazer aquele tratamente que não pinta erro não...

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.