Ir para conteúdo

POWERED BY:

Arquivado

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

Web 1

[Resolvido] Paginação ASP + MYSQL

Recommended Posts

Os resultados a partir da segunda pagina não ficam alinhados, porque sera?

<style>
.portfolio_b {
width:180px; 
float:left; 
display:block; 
text-align:left; 
padding-left:10px;
padding-bottom:10px;
color:#888888;
font:11px/1.5 Verdana, Arial, Helvetica, sans-serif;
}

.portfoliopaginacao_a {
width:960px; 
float:left; 
display:block; 
text-align:left; 
padding:10px;
font:14px/1.5 Verdana, Arial, Helvetica, sans-serif;
}
</style>
<%
Dim Conn 
Dim RS 
Dim sql 
Dim Pag 
'----------------------------------------------------------- 

pagina = Request.ServerVariables("Script_Name")
pag = Request.QueryString("pag") 


If pag = "" Then 
pag = 1 
End if 

Call abre_conexao1(ConnString,Conn)

Conn.CursorLocation = 3
'----------------------------------------------------------- 

Set RS = Server.CreateObject("ADODB.RecordSet") 
'----------------------------------------------------------- 

Set RS.ActiveConnection = Conn 
'----------------------------------------------------------- 

sql = "SELECT * FROM portfolio where PortAprovado = ""S"" order by PortId desc" 
'----------------------------------------------------------- 
RS.CursorType = 3
RS.PageSize = 20
RS.Open sql
TotalPages = RS.Pagecount
'----------------------------------------------------------- 
%>
<%
If RS.Eof Then 
%> 

Nenhum registro

<%Else%>

<div class="portfoliopaginacao_a">
Página <b><%=pag%></b> de <b><%=TotalPages %></b><br />
</div><!--/portfoliopaginacao_a-->

<%
RS.AbsolutePage = pag 
While Not RS.Eof and i < RS.PageSize 
i = i + 1%>



<div class="portfolio_b">
<a href="http://<%=RS("PortSite")%>" target="_blank"><img src="uploads/<%=RS("PortImagem1")%>" alt="<%=RS("PortNome")%>" title="<%=RS("PortNome")%>" width="160" height="85" /></a><br />
<a href="http://<%=RS("PortSite")%>" target="_blank"><%=RS("PortNome")%></a><br />
<%=RS("PortSegmento")%>
<div class="portfolioespaco_a"></div><!--/portfolioespaco_a-->
</div><!--/portfolio_b-->




<%
RS.MoveNext 
Wend 
%>

<div class="portfoliopaginacao_b">


Página <b><%=pag%></b> de <b><%=TotalPages %></b> <br /> <%



IF CInt(pag) > 1 THEN
%> <%
Response.Write "<a href='"&pagina&"?pag=1'>Primeira</a> | "
%> <%
Else
Response.Write "Primeira | "
END IF
%>
<%
if CInt(pag) > 1 then
Response.Write "<a href='"&pagina&"?Pag=" & pag - 1 &"'>Anterior</a> | "
Else
Response.Write "Anterior | "
END IF
%>
<%
max_n_mostrados = 9

intervalo = Int(max_n_mostrados /2)
inicio = pag - intervalo
final = pag + 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(pag) Then
        Response.Write " [" & i & "] "
    END IF
    If CInt(i) < CInt(pag) Then
     Response.Write "<a href='"&pagina&"?pag=" & i & "'>" & i & "</a>  "
    END IF
    If CInt(i) > CInt(pag) Then
        Response.Write "<a href='"&pagina&"?pag=" & i & "'>" & i & "</a>  "
 END IF
Next
response.write " | "
%>
<%
IF (CInt(pag) < TotalPages) THEN
    IF CInt(PF) <> TotalPages THEN
  Response.Write "<a href='"&pagina&"?pag=" & pag+1 & "'>Próxima</a> | "
 END IF
Else
 Response.Write "Próxima | "
END IF
%> 
<%
IF (CInt(pag) < TotalPages) THEN 
    IF CInt(PF) <> TotalPages THEN
  Response.Write "<a href='"&pagina&"?pag=" & TotalPages & "'>Última</a> "
 END IF
Else
 Response.Write "Última"
 END IF
%>

</div><!--/portfoliopaginacao_b-->

<%
RS.Close 
Set RS = Nothing 
Call fecha_conexao1() 
End IF
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

<%

Call AbreConn()

'pega a pagina atual
pagina = request.ServerVariables("SCRIPT_NAME")

'numero de registros por pagina...
pageSize = 1

if(len(Request.QueryString("p")) = 0 )then
 paginaAtual = 1
else
 paginaAtual = CInt(Request.QueryString("p"))
end if

' conta o numero de registros...
sql = "SELECT COUNT(*) AS total FROM nome_da_tabela"
set rs = conn.execute(sql)

'total de registros
recordCount = Cint(rs("total"))

'calculamos o numero de paginas...

pageCount = Clng(recordCount / pageSize)

If pageCount < 1 then
pageCount = 1
end if

rs.Close()


Flag1 = INT(paginaAtual / pagesize)

PI = INT(Flag1 * pagesize)

IF PI = 0 THEN
PI = 1
END IF
PF = PI + pagesize - 1

' selecionamos os registros...
sql = "SELECT * FROM nome_da_tabela LIMIT " & (paginaAtual - 1) * pageSize & " , " & pageSize

set rs = conn.execute(sql)

do while not rs.eof
' aqui entra o q você quer exibir
 Response.Write rs("nome_do_primeiro_campo") &" - "& rs("nome_do_segundo_campo") & "<br>"
 rs.MoveNext()
loop

rs.Close()
set rs = nothing
Call FechaConn()
set conn = nothing

Response.Write ("<B><strong> Página " & paginaAtual & " de " & pagecount & " </strong></B><br>")
' cria os links de pagians...
IF CInt(paginaAtual) > 1 THEN
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> "
Else
Response.Write "<font color=""#ADADAD"">Primeira</font> "
END IF

if CInt(paginaAtual) > 1 then
Response.Write "<a href='"&pagina&"?p=" & paginaAtual - 1 &"'>Anterior</a> "
Else
Response.Write "<font color='#666666'>Anterior</font>  "
END IF

for i=1 to pageCount
 Response.Write("<a href='"&pagina&"?p=" & i & "'>" & i & "</a> ")
next


IF (CInt(paginaAtual) < pagecount) THEN
        IF CInt(PF) <> pagecount THEN
  Response.Write "<a href='"&pagina&"?p=" & paginaAtual+1 & "'>Próxima</a> "
 END IF
Else
 Response.Write "<font color=""#ADADAD"">Próxima</font> "
END IF


IF (CInt(paginaAtual) <> pagecount) THEN
        IF CInt(PF) <> pagecount THEN
  Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> "
 END IF
Else
 Response.Write "<font color=""#ADADAD"">Última</font> "
 END IF

%>



Abaixo está o arquivo que faz a conexão com o banco "arquivo_de_conexao.asp"

<%
dim conn

Sub AbreConn()

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

conn.Open = "Driver={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=Nome_do_banco; UID=seu_usuario; PWD=sua_senha;" 

End Sub


Sub FechaConn()

conn.Close()
Set conn = Nothing

End Sub

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum o código funciona perfeitamente, porem, como estou usando DIVs ele a partir da página 2 fica desalinhado

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele fica desalinhado no IE e FF ou apenas em um deles ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar tipo um tableless, para forçar a posição

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei este exemplo

 

http://forum.imasters.com.br/topic/323865-paginacao-de-outra-forma-usando-mysql/

 

Que por sinal é muito bom!

Porem

 

quando jogo essa linha para wend

 

<div class="portfolio_b">
<a href="http://<%=RS("PortSite")%>" target="_blank"><img src="uploads/<%=RS("PortImagem1")%>" alt="<%=RS("PortNome")%>" title="<%=RS("PortNome")%>" width="160" height="85" /></a><br />
<a href="http://<%=RS("PortSite")%>" target="_blank"><%=RS("PortNome")%></a><br />
<%=RS("PortSegmento")%>
<div class="portfolioespaco_a"></div><!--/portfolioespaco_a-->
</div><!--/portfolio_b-->

 

Quando clico na pagina 2 ele perde o formato que seria de 5 por linha, porem na primeira pagina ele fica alinhado

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão na verdade é poder criar uma paginação em ASP + MYSQL sendo 5 DIVs por linha, e cada DIV deve ter "200" pixels de largura

Compartilhar este post


Link para o post
Compartilhar em outros sites

as prprpiedades da DIV estão tofdas corretas,

margin etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que sim o código esta acima! Primeiro post!

 

Alguem ai teria um link de paginação inteira em DIV? de preferencia como são paginadas as paginas de imagens do google.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal, alguem tem alguma paginação com DIV, ASP e MYSQl igual as imagens do google são paginadas?

porem, normal com

 

< << 1 2 3 4 5 >> >

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

primeiro procure no laboratório como fazer a paginação com asp + mysql, depois disso é que vai montar as divs, ai tem que saber de css

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejam o exemplo abaixo perceberam que não fica alinhado

 

<style>
.portfolio_b {float:left; width:960px; padding-left:10px; padding-right:10px;}
.portfolio_c {
width:180px; 
float:left; 
display:block; 
text-align:left; 
padding-left:10px;
padding-bottom:10px;
color:#888888;
font:11px/1.5 Verdana, Arial, Helvetica, sans-serif;
}
</style>

<%
dim conn

Sub AbreConn()

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

conn.Open = "Driver={MySQL ODBC 3.51 Driver}; SERVER=server; DATABASE=database; UID=login; PWD=senha;" 

End Sub


Sub FechaConn()

conn.Close()
Set conn = Nothing

End Sub

Call AbreConn()

'pega a pagina atual
pagina = request.ServerVariables("SCRIPT_NAME")

'numero de registros por pagina...
pageSize = 20

if(len(Request.QueryString("p")) = 0 )then
 paginaAtual = 1
else
 paginaAtual = CInt(Request.QueryString("p"))
end if

' conta o numero de registros...
sql = "SELECT COUNT(*) AS total FROM portfolio"
set rs = conn.execute(sql)

'total de registros
recordCount = Cint(rs("total"))

'calculamos o numero de paginas...

pageCount = Clng(recordCount / pageSize)

If pageCount < 1 then
pageCount = 1
end if

rs.Close()


Flag1 = INT(paginaAtual / pagesize)

PI = INT(Flag1 * pagesize)

IF PI = 0 THEN
PI = 1
END IF
PF = PI + pagesize - 1

' selecionamos os registros...
sql = "SELECT * FROM portfolio LIMIT " & (paginaAtual - 1) * pageSize & " , " & pageSize

set rs = conn.execute(sql)
%>

<div class="portfolio_b">

<%
do while not rs.eof
%>

<div class="portfolio_c">
<a href="http://<%=RS("PortSite")%>" target="_blank"><img src="uploads/<%=RS("PortImagem1")%>" alt="<%=RS("PortNome")%>" title="<%=RS("PortNome")%>" width="160" height="85" /></a><br />
<a href="http://<%=RS("PortSite")%>" target="_blank"><%=RS("PortNome")%></a><br />
<%=RS("PortSegmento")%>
</div><!--/portfolio_c-->

<%
rs.MoveNext()
loop

rs.Close()
set rs = nothing
Call FechaConn()
set conn = nothing
%>

</div><!--/portfolio_b-->

<div class="portfolio_b">

<%
Response.Write ("<B><strong> Página " & paginaAtual & " de " & pagecount & " </strong></B><br>")
' cria os links de pagians...
IF CInt(paginaAtual) > 1 THEN
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> "
Else
Response.Write "<font color=""#ADADAD"">Primeira</font> "
END IF

if CInt(paginaAtual) > 1 then
Response.Write "<a href='"&pagina&"?p=" & paginaAtual - 1 &"'>Anterior</a> "
Else
Response.Write "<font color='#666666'>Anterior</font>  "
END IF

for i=1 to pageCount
 Response.Write("<a href='"&pagina&"?p=" & i & "'>" & i & "</a> ")
next


IF (CInt(paginaAtual) < pagecount) THEN
        IF CInt(PF) <> pagecount THEN
  Response.Write "<a href='"&pagina&"?p=" & paginaAtual+1 & "'>Próxima</a> "
 END IF
Else
 Response.Write "<font color=""#ADADAD"">Próxima</font> "
END IF


IF (CInt(paginaAtual) <> pagecount) THEN
        IF CInt(PF) <> pagecount THEN
  Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> "
 END IF
Else
 Response.Write "<font color=""#ADADAD"">Última</font> "
 END IF

%>
</div><!--/portfolio_b-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso acontece em todos os browsers ?

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.