Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

instrução SQL

Recommended Posts

é gerado algum erro ????

ou le monta todos os registros , no proximo ???.

Compartilhar este post


Link para o post
Compartilhar em outros sites

XAMBURZUM!

 

Realmente não mostra erro nenhum, funciona tudo oque o DESISTO me ajudou, só que a paginação tipo:

 

Se aparecem apenas 2 registros, na paginação aparece o PROXIMO e se tu clicar alí, ele monta todos os registros novamente do banco de dados.

 

 

Isso que queria resolver,

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer com mais registros, para ver se nao é problema da paginaçao, tem uma classe de paginacaun muito boa k você pode usar...

dá uma procurada no laboratorio ou nops artigos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que o probelma esta resolvido Imagem Postada

 

 

esse problema novo provavelmente esta ocorrendopq você esta indo pra uma pagina nova e os dados do form se perdem

você precisaria passar tudo pela url, numero da pagina, palavra buscada e categoria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá DESISTO e XAMBURZUM!

 

Tentei passar por GET o formulario, mas não vai, e tem o controle das paginações.

Só não sei oque está havendo, poderiam me ajudar aqui...

 

VOU POSTAR NOVAMENTE COMO FICOU MEU CODIGO FINAL, USANDO O MESMO BANCO DE ANTES:

 

Conexao:

<%
  strDBPath = Server.MapPath("busca.mdb")
  RESPONSE.CHARSET	   = "ISO-8859-1"
  SET CX = Server.CreateObject("ADODB.Connection")
			  CAMINHO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
	  CX.OPEN CAMINHO			  
%>

default.asp

<!--#include file="conexao.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EXEMPLO DE BUSCA COM CRITERIOS E PAGINAÇÃO</title>
<style type="text/css">
<!--
body {
	margin-left: 10px;
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
	background-color: #FFFFFF;
}
body,td,th {
	color: #666666;
	font-family: Georgia, Times New Roman, Times, serif;
	font-size: 11px;
}
a:link {
	color: #003366;
	text-decoration: none;
}
a:visited {
	color: #003366;
	text-decoration: none;
}
a:hover {
	color: #0099FF;
	text-decoration: none;
}
a:active {
	color: #FFFFFF;
	text-decoration: none;
}
a {
	font-family: Georgia, Times New Roman, Times, serif;
	font-size: 11px;
}
.style1 {
	font-weight: bold;
	color: #990000;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
.style2 {
	font-weight: bold;
	color: #FF9900;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
.style3 {
	font-weight: bold;
	color: #000000;
	text-decoration: none;
	font-family: Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<!--#include file="topo.asp" -->



<%
Dim RS, PagNav, TotalPag, Anterior, Proximo, PagAtual, PaginaVisita
	MAX   = 5
	BUSCA = Replace(Replace(TRIM(Request("buscapesquisa")),"'",""),"digite um cd aqui!","")
	ESTILO = Replace(TRIM(Request("buscaestilo")),"'","")
SET RS	= Server.CreateObject("ADODB.RECORDSET")
	CX.CursorLocation = 3
	RS.PageSize	   = MAX
	
 IF BUSCA = "" AND ESTILO = "" THEN
	  response.Write "<span class=""style1"">CASO 1</span> - Listagem de todos registros do banco de dados<br><br><br>"
	  SQL = "SELECT * FROM TB_CD ORDER BY ID"
	
		 ELSEIF BUSCA = "" AND ESTILO <> "" THEN
				  response.Write "<span class=""style1"">CASO 2</span> - Listagem do estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3estilo = '"& ESTILO &"' ORDER BY ID"
	
		 ELSEIF BUSCA <> "" AND ESTILO = "" THEN
				  response.Write "<span class=""style1"">CASO 3</span> - Listagem da palavra buscada sem o estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%"& BUSCA &"%' OR MP3sigla LIKE '%"& BUSCA &"%' ORDER BY ID DESC"
	
		 ELSEIF BUSCA <> "" AND ESTILO <> "" THEN		
				  response.Write "<span class=""style1"">CASO 4</span> - Listagem da palavra buscada com o estilo musical<br><br><br>"
				  SQL = "SELECT * FROM TB_CD WHERE MP3nome LIKE '%" & BUSCA & "%' AND MP3estilo = '"& ESTILO &"' ORDER BY ID DESC"
 END IF

	RS.OPEN SQL, CX
 IF RS.EOF THEN
%>
  <form action="default2.asp" method="get" target="_parent" id="frm">
			<div align="left">
			  <input name="buscapesquisa" type="text" id="buscapesquisa" size="40" />
						<select name="buscaestilo" size="1" id="buscaestilo">
						  <option value="">selecione</option>
						  <%
SET combo = CX.Execute("SELECT * FROM TB_CRITERIO ORDER BY CDestilo ASC")
DO WHILE NOT combo.EOF
%>
						  <option value="<%=combo("CDestilo")%>"><%=combo("CDestilo")%></option>
						  <%
combo.MoveNext
	  Loop
%>
						</select>
			  <input type="submit" name="button2" id="button2" value="buscar" />
			  <br />
  <div align="center" class="style3">
	<div align="left"><br />
	  Sua busca não encontrou nada para a palavra digitada<span class="rodape3titulo"><br>
	</span></div>
  </div>
</form>
  <%
ELSE
		PagNav = CInt(Request.QueryString("paginacaodosdados"))
	IF (PagNav = 0) THEN : PagNav = 1 : END IF

			   RS.AbsolutePage = PagNav
	TotalPag = RS.PageCount

WHILE NOT RS.EOF AND RS.AbsolutePage = PagNav 
%>


	<div align="left" class="style3">  <%= UCase(RS("mp3Nome")) %></div>
	<div align="left" class="rodape2">  <%=RS("mp3Estilo")%></div>
	<br />
	<%
	RS.MoveNext : WEND
		Anterior = PagNav - 1
		Proximo  = PagNav + 1
	IF (Anterior <= 0) THEN : Anterior = 1 : END IF
	IF (Proximo > TotalPag) THEN : Proximo = TotalPag : END IF
%>
<br />
<br />
<br />
<table border="0" cellpadding="0" cellspacing="6">
<tr>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=1" class="style2"> Retornar</a>
					<%
   PaginaVisita = CInt(Request.QueryString("paginacaodosdados"))
IF PagNav > 1 THEN
%>
				  </div></td>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="rodape4titulo"><div align="center"><a href="?paginacaodosdados=<%=Anterior%>" style="font: 12px Arial; color: #FFFFFF;"> <span class="style3">«</span></a></div></td>
				  <%
END IF
	IF PagNav > 5 THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="fontePr"> 
					<div align="center"><span class="style2">...</span> </div></td>
<%
END IF
	IF PagNav <= 5 THEN
	IF TotalPag >= 5 THEN
	   FOR Jo = 1 TO 5
	IF PagNav = Jo THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><%=Jo%></div></td>
<%
	ELSE
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
END IF
NEXT
ELSE
FOR Jo = 1 TO TotalPag
	IF PagNav = Jo THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong></div></td>
<%
	ELSE
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
END IF
NEXT
END IF
END IF

IF PagNav > 5 THEN
	PagNav = PagNav + 4
	Pg = PagNav
	MaxB = Request.QueryString("paginacaodosdados") - 1
	
	IF (MaxB + 1) = TotalPag THEN
	FOR Jo = MaxB TO (Pg - 4)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT			
	ELSEIF (MaxB + 2) = TotalPag THEN
	   FOR Jo = MaxB TO (Pg - 3)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT
	ELSE
	FOR Jo = (MaxB - 1) TO (Pg - 2)
		IF PaginaVisita = Jo THEN
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberMark"><div align="center"><strong><%=Jo%></strong> </div></td>
<%
		ELSE
		%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="pagNumberPequeno"><div align="center"><a href="?paginacaodosdados=<%=Jo%>" class="fonte"> <%=Jo%> </a></div></td>
<%
		END IF
	NEXT
	END IF
END IF

IF (TotalPag <> PaginaVisita) AND (TotalPag >= 5) THEN
%>
				  <td width="26" height="30" align="center" valign="middle" bgcolor="#F8F8F8" class="fontePr"> 
					<div align="center"><span class="rodape4titulo">...</span> </div></td>
<%
END IF
%>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=<%=Proximo%>" class="style2">Próximo</a></div></td>
				  <td class="pagNumber"><div align="center"><a href="?paginacaodosdados=<%=TotalPag%>" class="style1">Último</a></div></td>
  </tr>
</table>


<%
END IF
SET RS = NOTHING
%>


</body>
</html>

 

topo.asp

<form action="default2.asp" method="get" name="frm" target="_parent" id="frm">
  <div class="style2">
	Localizar um CD<br />
	<input name="buscapesquisa" type="text" id="buscapesquisa" onfocus="if (this.value == 'digite um cd aqui!'){ this.value = '' }" onblur="if (this.value == ''){ this.value = 'digite um cd aqui!' }" value="digite um cd aqui!" size="23" maxlength="30" />
	<input type="submit" name="button" id="button" value="buscar" />
  </div>
</form>
<br />
<br />

 

Se puder ajudar agradeço, testei aqui e nao vai, o link próximo da paginação deve estar errado.

Mas acho estranho que copiei completo o code do ted, mas deve ser com certeza o cabeção aqui que tá um zero a esquerda.

 

Mas agradeceria a ajuda.

 

Tenta digitar ASDASFSDAFSADFSA e depois CASSIANE no input e depois GOSPEL DANCE no combo, ele vai listar 2 registros só, e depois la na paginação se tu clicar no link PROXIMO, ele monta todos os registros, como se tu carregasse a pagina novamente.

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada nessa classe de paginaçaun

 

A classe NaviPage cria uma “página anterior", "próxima página"

para navegar um recordset paginado.

 

NaviPage oferece propriedades e métodos que são utilizados para construir o menu de navegação. Por exemplo, se o seu recordset é de 5 páginas, uma navegação NaviPage como esta será exibida:

 

[Anterior] [1] 2 3 4 5 [Próxima]

 

Diga a classe quantas páginas quer mostrar e, opcionalmente, a página atual

de modo que a classe pode gerar a exibição. As propriedades e os métodos propostos neste código são:

 

Propriedades:

 

CurrentPage

Opcional. Obtém ou define a página atual.

 

PageCount

Necessário. O número de páginas para ser exibida.

 

QueryString

Opcional. uma QueryString é necessária para ser transmitido entre as páginas. Querystrings devem ter este formato:

 

Dim qs 

qs = qs & "& s =" & Server.UrlEncode (request ( "s")) 
qs = qs & "& t =" & Server.UrlEncode (request ( "t")) 
qs = qs & "& u =" & Server.UrlEncode (request ( "u")) 

Obj.Querystring = qs

PageUrl

Necessário. A URL onde todos os links de navegação são exibidos.

 

LinkStyle

Opcional. Estilo CSS ,código para a tags âncora de links criados pela classe.

 

SelectedPageStyle

Opcional. Estilo CSS para a página selecionada.

 

Width

Opcional. O numérico ou percentual de toda a largura do menu. Exemplos

de valores válidos são "100%", 500, 563, "55%", etc

 

Métodos:

 

RenderMenu

Necessário.Página gerada, menu de navegação do browser.

Este método deve ser chamado depois de todas as propriedades foram ajustadas.

 

sintaxe:

Set object = New NaviPage

exemplo:

 

Dim p, qs

‘construir QueryString para passar de página em página
qs = ""
qs = qs & "&s=" & Server.UrlEncode(request("s"))
qs = qs & "&t=" & Server.UrlEncode(request("t"))
qs = qs & "&u=" & Server.UrlEncode(request("u"))

'cria nav menu
Set p = New NaviPage

'set width
p.Width = "100%"

‘conjunto estilo da página Links
p.LinkStyle = "font-family:helvetica;font-size:12pt;"

‘estilo de página selecionada
p.SelectedPageStyle = "font-family:helvetica;font-size:12pt;font-weight:bold;"

‘número total de páginas “paginável” recordset
p.PageCount = 3

‘conjunto da QueryString usada pelo recordset para gerar filas
p.QueryString = qs

'definir a página onde cada página link deve apontar
p.PageUrl = Request.ServerVariables("SCRIPT_NAME")

'response.write o menu para o browser
p.RenderMenu

'liberar  memória
Set p = Nothing


‘impressões: [1] 2 3 [Próxima>>] 
'Isso é exatamente a mesma classe qeu uso para fazer a paginação

código:

 

<%
Class NaviPage
	Private Sub Class_Initialize()
		CurrentPage = 1
		PageCount = 1
		QueryString = ""
		PageUrl = Request.ServerVariables("SCRIPT_NAME")
		LinkStyle = "font-family:helvetica;font-size:10pt;"
		SelectedPageStyle = "font-family:helvetica;font-size:12pt;font-weight:bold;"
		Width = "100%"
	End Sub

	Public Property Get CurrentPage
		dim p

		on error resume next
		p = clng(Request("Page"))
		if err.number <> 0 then p = 1
		if p < 1 then p = 1

		CurrentPage = p
	End Property

	Public Property Let CurrentPage(byval page)
		CurrentPage = page
	End Property

	Public PageCount

	Public QueryString

	Public PageUrl

	Public LinkStyle

	Public SelectedPageStyle

	Public Width

	Public Sub RenderMenu()
		Dim strTempNavL, strTempNavR, strTempNavC, iEverySinglePage

		'input validação
		if clng(PageCount) < 1 Then
			PageCount = 1
		end if

		If clng(CurrentPage) > clng(PageCount) Then
			CurrentPage = PageCount
		End If

		If clng(CurrentPage) < 1 Then
			CurrentPage = 1
		End If

		if Len(Trim(QueryString)) > 0 Then
			if Left(QueryString, 1) = "&" Then
				QueryString = Mid(QueryString, 2)
			End If
		End If


		'criação menu 
		If clng(CurrentPage) <> 1 Then
			strTempNavL = strTempNavL & "<a href=""" & PageUrl & "?page=" & _
				clng(CurrentPage) - 1 & "&" & QueryString & _
				""" style=""" & LinkStyle & """>[<< back]</a>"
		else
			strTempNavL = strTempNavL & " "
		End If
		If clng(CurrentPage) < clng(PageCount) Then
			strTempNavR = strTempNavR & "<a href=""" & PageUrl & "?page=" & _
				clng(CurrentPage) + 1 & "&" & QueryString & _
				""" style=""" & LinkStyle & """>[next >>]</a>"
		else
			strTempNavR = strTempNavR & " "
		End If
		iEverySinglePage = 1
		Do Until iEverySinglePage > PageCount
			if iEverySinglePage = clng(CurrentPage) then
				strTempNavC = strTempNavC & "[<span style=""" & _
					SelectedPageStyle & """>" & iEverySinglePage & _
					"</span>]  "
			else
				strTempNavC = strTempNavC & "<a style=""" & LinkStyle & _
					""" href=""" & PageUrl & "?page=" & _
					iEverySinglePage & "&" & QueryString & """>" & _
					iEverySinglePage & "</a>  "
			end if
			iEverySinglePage = iEverySinglePage + 1
		LOOP


		'render nav menu
		response.write "<table width=""" & width & """>" & vbCrLf
		response.write "<tr>" & vbCrLf
		response.write "<td valign=top align=left width=""20%"">" & vbCrLf
		response.write strTempNavL & vbCrLf
		response.write "</td>" & vbCrLf
		response.write "<td valign=top align=center width=""60%"">" & vbCrLf
		response.write strTempNavC & vbCrLf
		response.write "</td>" & vbCrLf
		response.write "<td valign=top align=right width=""20%"">" & vbCrLf
		response.write strTempNavR & vbCrLf
		response.write "</td>" & vbCrLf
		response.write "</tr>" & vbCrLf
		response.write "</table>" & vbCrLf
	End Sub
End Class
%>

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.