Ir para conteúdo

POWERED BY:

Arquivado

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

Adilson_Web_2007

em paginação

Recommended Posts

Olá pessoal tenho uma dúvida. Tem um sistema de busca, por exemplo quando eu digito maria traz todos os registro que contén maria na forma de páginação. A maria que eu quero não está na página 1 ai eu clico na página 2 deveria mostrar os registro que contém maria mas, volta todos os registros como eu faço para que quando eu clicar mas página continue na maria. Desde já eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria ideal se você usa-se o GET no form, mais deixa pra lá, faz assim:

 

deve está assim seu SQL:

 

select * from pessoas where nome = '%"&Request.Form("Nome")&"%'

faz assim:

 

nome = Request.Form("Nome")

 

If CStr(Request.QueryString("Nome")) = "" Then
set rs = conn.execute("select * from pessoas where nome = '%"&Request.Form("Nome")&"%'")
Else
set rs = conn.execute("select * from pessoas where nome = '%"&Request.QueryString("Nome")&"%'")
End If

lá no seu link da paginação faz assim: Request.QueryString("Nome") = Nome, ficando assim

 

<a href="pagina.asp?Page=<%=page%>&Nome=<%=Request.QueryString("Nome")%>">paginação</a>

esse "Page=<%=page%>" deve ser configuração da sua paginação, não é a ideia que quero passar

 

Deus queria que tenha entendido (hehehe)!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então meu sql ta assim:

 

PagAtual = Request.QueryString("PagAtual") 'página atual
SQL = "SELECT * FROM pessoa"
set RS = conexaoDataBase.execute(SQL)
Const NumPorPage = 25
'Verifica qual a página solicitada
   Dim PagAtual
   IF Request.QueryString("PagAtual") = "" Then
			   PagAtual = 1 'Primeira página
		 Else
				PagAtual = Request.QueryString("PagAtual")
   End If
   RS.CacheSize = NumPorPage 'Define o tamanho do Cache = para o número de registros
	RS.MoveFirst				'Move o RecorSet para o início 
	RS.PageSize = NumPorPage	'Coloca a quantidade de páginas
	Dim TotalPages			  'Pega o número total de páginas
	TotalPages = RS.PageCount
	RS.AbsolutePage = PagAtual  'Configura a página atual
Count = 0	   'Zera o contador 
Código html

i = 0 
DO WHILE NOT RS.EOF And Count < RS.PageSize  'paginacao And Count < RS.PageSize 
' ----- linhas coloridas -------
if i mod 2<>0 then
cor = "#F4F4F4"
else
cor = "#e1e1e1"
end if 

Código Html

  i = i+1
 Count = Count + 1   'paginacao
	RS.MoveNext
	LOOP		  

essa é a páginação

<% 
'################## paginacao 01 #####################

 'Coloca o Nº página atual / Nº Total de páginas

 Response.Write("<B><font color=""#6699cc"" size=""2"" face=""Arial""><strong> Página " & PagAtual & " de " & TotalPages & " </strong></font></B> - ")   

'Mostra os botões: Anterior e Próxima, utilizando da opção de IF 

IF PagAtual > 1 THEN 

'Se for a primeira página, Mostra apenas o botão Próximo e Ultima
	  Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">") 
	  Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" &  1 & "'>")
	  Response.Write("Primeira") 
	  Response.Write("</a></font></B>  ")
	  
	  'Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
	  'Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" & PagAtual - 1 & "'>")
	  'Response.Write("Anterior") 
	  'Response.Write("</a></font></B>  ")

	  Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
	  Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" & PagAtual - 1 & "'>")
	  Response.Write("Anterior") 
	  Response.Write("</a></font></B>  ")


  Else

	  Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">") 
	  Response.Write("Primeira") 
	  Response.Write("</font></B>  ")

	  Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">") 
	  Response.Write("Anterior") 
	  Response.Write("</font></B>  ")


End If

'------------------- numero -------------------------
'---------- Numero de numeros para ser mostrados ----
   max_n_mostrados = 9

intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo

If CInt(inicio) <1 Then 
 inicio = 1
 final = 10
END IF
If CInt(final) > CInt(TotalPages) Then final = TotalPages

For i = inicio To final
	 If CInt(i)=CInt(PagAtual) Then
		 Response.Write "<span class='numero'>[ " & i & " ]</span>  "
	 END IF
	 If CInt(i) < CInt(PagAtual) Then
	  Response.Write "<a class='link1' href='pesquisaPasta.asp?PagAtual=" & i & "'>" & i & "</a>  "
	 END IF
	 If CInt(i) > CInt(PagAtual) Then
		 Response.Write "<a class='link1' href='pesquisaPasta.asp?PagAtual=" & i & "'>" & i & "</a>  "
  END IF
Next

'------------------------------------------------------

IF CInt(PagAtual) <> CInt(TotalPages) THEN 

'Se estiver na última página, mostra apenas o botão Anterior e Primeira

	  Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
	  Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" & PagAtual + 1 & "'>")
	  Response.Write("Próxima")
	  Response.Write("</a></font></B>  ") 

	  Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
	  Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" & TotalPages & "'>")
	  Response.Write("Ultima")
	  Response.Write("</a></font></B>  ")		

 Else
	  Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
	  Response.Write("Próxima") 
	  Response.Write("</font></B>  ")

	  Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
	  Response.Write("Ultima") 
	  Response.Write("</font></B>  ")
End If 
'################## fim paginacao 01 ########################
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

se seu sql está assim:

SQL = "SELECT * FROM pessoa"
set RS = conexaoDataBase.execute(SQL)

como é que faz as buscas?

você ai só está listando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa é minha busca! desculpe

 

Eu tenho um combobox no modo é onde tem a opção do nome e o valor e o nome da pessoa, to perdido para adaptar ao que você passou.

 

if request.queryString("acao")="pesquisar"then
   
  if modo = "pasta" then
   SQL = SQL & " where " + modo + " = '"&valor&"'" 
  else
  if modo <> "" and valor <> "" then
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
  end if
  end if
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca assim!

 

if modo = "pasta" then
If CStr(Request.QueryString("Nome")) = "" Then
   SQL = SQL & " where " + modo + " = '"&valor&"'"
Else
   SQL = SQL & " where " + modo + " = '"&Request.QueryString("Nome")&"'"
end if
  else
  if modo <> "" and valor <> "" then
If CStr(Request.QueryString("Nome")) = "" Then
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
else
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + Request.QueryString("Nome") + "%'"
end if
  end if
  end if

e o da paginação como citei mais acima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro não sei o que é:

 

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

 

Constante de seqüência não finalizada

 

/geral/paginacao/paginacaoPesquisaPasta.asp, line 14

 

Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" & 1 & "&Nome=<%=Request.QueryString('Nome')

----------------------------------------------------------------------------------------------------------------^

 

 

Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual=" &  1 & "&Nome=<%=Request.QueryString('Nome')%>'>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

ô rapaz que absurdo uma tag asp dentro da outra, até você (hehehehehehe)

 

olha agora:

Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual="&1&"&Nome="&Request.QueryString("Nome")&"'>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz o que você falou deu esse erro não to conseguindo arrumar.

 

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

 

')' esperado

 

/geral/paginacao/paginacaoPesquisaPasta.asp, line 15

 

Response.Write("<a class='link1' href='pesquisaPasta.asp?PagAtual="&1&"&Nome="&Request.QueryString("Nome")&"'>")

-------------------------------------------------------------------^

 

Cara desculpe te atrapalhar pois, estou precisando muito. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja assim:

 

Response.Write("<a class='link1' href=pesquisaPasta.asp?PagAtual=""1""&Nome="&Request.QueryString("Nome")&">")

 

agora esse seu ("&1&") me PagAtual acho que está errado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe mas ainda estou com dúvida, essa parte do erro deu certo eu tirei essa parte ("&1&") e fiz de outro geito bal.

 

Minha dúvida é essa:

 

minha busca ta retornando diretinho, quando eu clico para ir para outra página volta tudo.

 

Eu sei que estou sendo chato, peço desculpa não sei muita coisa de ASP to me esforçando.

 

Esse é o formulário:

 

<form name="form1"  method="post"  action="pesquisaPasta.asp?acao=pesquisar">
<table align="center" width="95%" id="tab" cellpadding="0" cellspacing="0" border="0">
<tr>
<td> </td>
</tr>
<tr>
<td> Consultar Por :
	   <select name="modo" class="CaixaCombo">
		<option value="cliente">Cliente</option>
		<option value="assunto">Assunto</option>
		<option value="cod">Número da Pasta</option>
		<option value="ano">Ano</option>
		<option value="cod">Identificação</option>
	  </select>
	  <input name="valor" type="text" class="CaixaTexto" size="28" maxlength="50"> 
	  <input name="buscar" type="submit" value="Pesquisar" class="botao">

	</td>
</tr>
<tr>
<td> </td>
</tr>
	</table>
	 </form>

Esse é o código que você adaptou para min. Que recupera os valores

 

if request.queryString("acao")="pesquisar"then
   modo = request.form("modo")
   valor = request.form("valor")

 if modo = "pasta" then
If CStr(Request.QueryString("Nome")) = "" Then
   SQL = SQL & " where " + modo + " = '"&valor&"'"
Else
   SQL = SQL & " where " + modo + " = '"&Request.QueryString("Nome")&"'"
end if
  else
  if modo <> "" and valor <> "" then
  
If CStr(Request.QueryString("Nome")) = "" Then
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
else
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + Request.QueryString("Nome") + "%'"
 
end if
  end if
  end if
end if

Esse é link da paginação

 

<a class='link1' href='pesquisaPasta.asp?acao=pesquisar&PagAtual=<%=i%>&Nome=<%=Request.QueryString("Nome")%>'><%=i%></a>

O que eu tenho que colocar dentro de variavel nome. Cara ta creul to me quebrando, to confuso, por favor me ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só vai ativar esse IF aqui:

If CStr(Request.QueryString("Nome")) = "" Then

quando o outro If esse aqui:

if modo = "pasta" then

for ativado novamente, caso contrário é melhor você achar uma forma de não ter esse IF modo, só se você fazer assim:

 

if request.queryString("acao")="pesquisar" then
  If CStr(Request.QueryString("Nome")) = "" Then
  if modo = "pasta" then
  SQL = SQL & " where " + modo + " = '"&valor&"'"
  elseif modo <> "" and valor <> "" then
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
  end if
  
  else
  
  if modo = "pasta" then
  SQL = SQL & " where " + modo + " = '"&Request.QueryString("Nome")&"'"
  elseif modo <> "" and valor <> "" then
  SQL = SQL & " WHERE " + modo + " Like " + "'%" + Request.QueryString("Nome") + "%'"
  end if
  
  end if
  
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz de um geito onde eu consigo fazer as busca e colocar o valor nos links, até ai beleza, quando eu clico para ir para qualquer pagina, por exemplo, digitei maria me trouxe 3 paginas. Consigo colocar os valores nas 3 página qualquer uma delas me traz o restante quando eu clico em outra me traz totos os registro , percebi que quando manda por link para visualizar o resto ele não pega os valores.

 

Mudei de post para get ficou assim,

 

<form name="form1"  method="get"  action="pesquisaPasta.asp">
<table align="center" width="95%" id="tab" cellpadding="0" cellspacing="0" border="0">
<tr>
<td> </td>
</tr>
<tr>
<td> Consultar Por :
	   <select name="modo" class="CaixaCombo">
	<option value="cliente">Cliente</option>
	<option value="assunto">Assunto</option>
	<option value="pasta">Número da Pasta</option>
	<option value="ano">Ano</option>
	<option value="cod">Identificação</option>
  </select>
	  <input name="valor" type="text" class="CaixaTexto" size="28" maxlength="50"> 
	  <input name="buscar_cliente" type="submit" value="Pesquisar" class="botao">

	</td>
</tr>
<tr>
<td> </td>
</tr>
  </table>
</form>

Assim ficou para recuperar os valores:

 

if request.queryString("buscar_cliente") = "Pesquisar" then

  modo = request.queryString("modo")
  valor = request.queryString("valor")
	if modo = "pasta" then
	   SQL = SQL & " where " + modo + " = '"&valor&"'" 
	  else
		if modo <> "" and valor <> "" then
		  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
		end if
	end if
end if

Assim ficou para recuperar atraves dos links:

 

if request.queryString("acao")="pesquisar1" then

  If CStr(Request.QueryString("Nome")) = "" Then
	  modo = request.queryString("modo")
	  valor =Request.queryString("valor")
   		 SQL = "select * from pessoa WHERE " + modo + " Like " + "'%" + valor + "%'"
	 
	Else
	 modo = request.QueryString("modo")
	 valor =Request.QueryString("Nome")
				SQL = "select * from pessoa WHERE " + modo + " Like " + "'%" + valor + "%'"
	 
   End If

end if

Me ajude por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz de um geito onde eu consigo fazer as busca e colocar o valor nos links, até ai beleza, quando eu clico para ir para qualquer pagina, por exemplo, digitei maria me trouxe 3 paginas. Consigo colocar os valores nas 3 página qualquer uma delas me traz o restante quando eu clico em outra me traz totos os registro , percebi que quando manda por link para visualizar o resto ele não pega os valores.

 

Mudei de post para get ficou assim,

 

<form name="form1"  method="get"  action="pesquisaPasta.asp">
<table align="center" width="95%" id="tab" cellpadding="0" cellspacing="0" border="0">
<tr>
<td> </td>
</tr>
<tr>
<td> Consultar Por :
	   <select name="modo" class="CaixaCombo">
	<option value="cliente">Cliente</option>
	<option value="assunto">Assunto</option>
	<option value="pasta">Número da Pasta</option>
	<option value="ano">Ano</option>
	<option value="cod">Identificação</option>
  </select>
	  <input name="valor" type="text" class="CaixaTexto" size="28" maxlength="50"> 
	  <input name="buscar_cliente" type="submit" value="Pesquisar" class="botao">

	</td>
</tr>
<tr>
<td> </td>
</tr>
  </table>
</form>

Assim ficou para recuperar os valores:

 

if request.queryString("buscar_cliente") = "Pesquisar" then

  modo = request.queryString("modo")
  valor = request.queryString("valor")
	if modo = "pasta" then
	   SQL = SQL & " where " + modo + " = '"&valor&"'" 
	  else
		if modo <> "" and valor <> "" then
		  SQL = SQL & " WHERE " + modo + " Like " + "'%" + valor + "%'"
		end if
	end if
end if

Assim ficou para recuperar atraves dos links:

 

if request.queryString("acao")="pesquisar1" then

  If CStr(Request.QueryString("Nome")) = "" Then
	  modo = request.queryString("modo")
	  valor =Request.queryString("valor")
   		 SQL = "select * from pessoa WHERE " + modo + " Like " + "'%" + valor + "%'"
	 
	Else
	 modo = request.QueryString("modo")
	 valor =Request.QueryString("Nome")
				SQL = "select * from pessoa WHERE " + modo + " Like " + "'%" + valor + "%'"
	 
   End If

end if

Me ajude por favor

 

Estou com o mesmo problema na minha páginação o pior q são uns 39 campos na busca tenho q fazer um por um?

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.