Ir para conteúdo

POWERED BY:

Arquivado

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

br1

Listar por mais visitados

Recommended Posts

è ai pessoal tudo beleza... seguinte, eu preciso colocar no meu script um top usuarios os usuarios mais visitados, so que não estou sabendo como começar, vocês poderiam me ajudar? vai abaixo o site.

 

www.canalcatalao.com.br

 

e o codigo.

 

 

<%

'*******************************************************************

' Página gerada pelo sistema Dataform 2 - http://www.dataform.com.br

'*******************************************************************

' Altere os valores das variáveis indicadas abaixo se necessário

 

'String de conexão para o banco de dados do Microsoft Access

strCon = "DBQ=d:\home\portalcatalao.com.br\web\sites\canalcatalao\perfil\database\dados.mdb;Driver={Microsoft Access Driver (*.mdb)};"

 

'Número total de registros a serem exibidos por página

Const RegPorPag = 12

 

'Número de páginas a ser exibido no índice de paginação

VarPagMax = 10

 

'Cor da linha selecionada na tabela de registros

cor_linha_selecionada = "gainsboro"

 

'Nome da página de consulta

pagina_consulta = "listar.asp"

 

 

'Nome da página de login

pagina_login = ""

 

'*******************************************************************

 

%>

 

<HTML>

<HEAD>

<TITLE>Consultar Registros</TITLE>

<meta name="copyright" content="Dataform">

<meta name="keywords" content="dataform, asp dataform, aspdataform, asp-dataform">

<meta name="robots" content="ALL">

<style type="text/css">

<!--

.texto_pagina

{

font-family: Tahoma, Verdana, Arial;

font-size: 11px;

color: dimgray;

}

 

.tabela_registros

{

width: 100%;

background-color: white;

}

 

.titulos_registros

{

font-family: Tahoma, Verdana, Arial;

font-size: 11px;

color: white;

background-color: gray;

}

 

.exibe_registros

{

font-family: Tahoma, Verdana, Arial;

font-size: 11px;

width: 100%;

color: dimgray;

background-color: white;

}

 

.tabela_paginacao

{

font-family: Tahoma, Verdana, Arial;

font-size: 11px;

width: 100%;

color: gray;

border-top: 1px solid gainsboro;

background-color: gainsboro;

}

 

.links_paginacao

{

color: dimgray;

text-decoration: none;

}

 

.links_paginacao:hover

{

color: gray;

text-decoration: underline;

}

-->

</style>

<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,lef

t='+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>

</HEAD>

 

<%

If Request.QueryString("PagAtual") = "" Then

PagAtual = 1

NumPagMax = VarPagMax

Else

NumPagMax = CInt(Request.QueryString("NumPagMax"))

PagAtual = CInt(Request.QueryString("PagAtual"))

Select Case Request.QueryString("Submit")

Case "Anterior" : PagAtual = PagAtual - 1

Case "Proxima" : PagAtual = PagAtual + 1

Case "Menos" : NumPagMax = NumPagMax - VarPagMax

Case "Mais" : NumPagMax = NumPagMax + VarPagMax

Case Else : PagAtual = CInt(Request.QueryString("Submit"))

End Select

If NumPagMax < PagAtual then

NumPagMax = NumPagMax + VarPagMax

End If

If NumPagMax - (VarPagMax - 1) > PagAtual then

NumPagMax = NumPagMax - VarPagMax

End If

End If

 

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

objCon.Open strCon

 

If Session("admin") <> "" And Session("ip_admin") = Request.ServerVariables("REMOTE_ADDR") Then

If Request.Form("recordno") <> "" Then

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

objRS_delete.CursorLocation = 3

objRS_delete.CursorType = 0

objRS_delete.LockType = 3

 

strQ_delete = Request.Form("strQ")

indice = Trim(Request.Form("indice"))

If indice <> "" Then strQ_delete = " SELECT * FROM agenda WHERE " & indice

 

objRS_delete.Open strQ_delete, objCon, , , &H0001

If indice = "" Then objRS_delete.Move Request.Form("recordno") - 1

If Not objRS_delete.EOF Then

objRS_delete.Delete

objRS_delete.UpdateBatch

End IF

 

objRS_delete.Close

Set objRS_delete = Nothing

Set strQ_delete = Nothing

End If

End If

 

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

objRS.CursorLocation = 3

objRS.CursorType = 2

objRS.LockType = 1

objRS.CacheSize = RegPorPag

strQ = "SELECT * FROM agenda order by entrada desc"

 

If Trim(Request("string_busca")) <> "" Then

If Trim(Request("campo_busca")) <> "" Then

strQ = strQ & " Where " & Trim(Request("campo_busca")) & " LIKE '%" & Trim(Request("string_busca")) & "%'"

Else

strQ = strQ & " Where 1 <> 1"

strQ = strQ & " Or nick LIKE '%" & Trim(Request("string_busca")) & "%'"

strQ = strQ & " Or email LIKE '%" & Trim(Request("string_busca")) & "%'"

strQ = strQ & " Or cidade LIKE '%" & Trim(Request("string_busca")) & "%'"

End If

End If

 

If Trim(Request.QueryString("Ordem")) <> "" Then

strQ = strQ & " ORDER BY " & Request.QueryString("Ordem")

End If

objRS.Open strQ, objCon, , , &H0001

objRS.PageSize = RegPorPag

 

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

objRS_indice.CursorLocation = 2

objRS_indice.CursorType = 0

objRS_indice.LockType = 2

strQ_indice = "SELECT * FROM agenda WHERE 1 <> 1"

objRS_indice.Open strQ_indice, objCon, , , &H0001

indice = ""

For Each item In objRS_indice.Fields

If item.properties("IsAutoIncrement") = True Then

indice = item.name

Exit For

End If

Next

objRS_indice.Close

Set objRS_indice = Nothing

Set strQ_indice = Nothing

 

Set objRS.ActiveConnection = Nothing

objCon.Close

Set objCon = Nothing

%>

 

 

<%

If Not(objRS.EOF) Then

objRS.AbsolutePage = PagAtual

TotPag = objRS.PageCount

%>

 

 

<TABLE border=0 cellpadding=2 cellspacing=0 class=tabela_registros style="width: 120; border-collapse: collapse" bordercolor="#111111" height="1">

<TR>

 

 

</TR>

 

<%

For Cont = 1 to objRS.PageSize

%>

 

<TR>

<TD width="8" height="1"><b>

<font color="#000000" face="Verdana" size="1">»</font><font color="#000000" face="Verdana" style="font-size: 2pt">.</font><font color="#000000" face="Verdana" size="1"> </font> </TD>

 

<TD width="104" height="1"><a href="../perfil/usuarios1.asp?entrada=<%=(objRS.Fields.Item("entrada").Value)%>"> <font color="#000000" face="Verdana" size="1"><%=(objRS.Fields.Item("nick").Value)%></font></a></TD>

 

</TR>

 

<%

objRS.MoveNext

If objRS.Eof then Exit For

Next

Set Cont = Nothing

%>

 

 

</TABLE>

 

 

 

<%

End If

%>

 

 

<%

Sub LinksNavegacao()

'O código a seguir insere uma tabela com todos os links de navegação das páginas

If PagAtual > 1 Then

End If

Response.Write "</TD></TR></TABLE>"

End Sub

%>

 

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha brother Oq tu pode fazer é o seguinte: Você insere um campo na sua tabela onde está o usuário só para controle de visitas do tipo...nro_visitas. Aí você faz uma função para pegar o número de visitas daquele usuário e adicionar mais um...coloque esta função na página em que você controlará essas visitas.... Depois você faz um select para listar os usuários que mais são visitados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

como faz essa função para pegar o nº de visitantes?

É um UPDATE no Banco de Dados kra!Ex: UPDATE visitantes SET n_visita = n_visita+1 WHERE Id_visitante = 99

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você vai fazer um TOP Usuários, é melhor fazer um negócio direito.

 

A instrução UPDATE está correta, mas é muito fácil alguém acessar ne ficar dando refresh para aumentar o nº de visitas. Bom... a saída para isso seria criar uma session ou um cookie bloquando mais um acesso.

 

Ao acessar a página, ele verifica se há o cookie ou a session. Se não, ele cria e grava +1 no nº de visitas... se sim, elenão conta +1.

 

Outro esquema bacana é gravar o IP em um banco de dados com expiração de umas trÊs horas.

 

Qualquer dúvida para montar, entre em contato comigo.

 

Meu sistema tem algo parecido.

THE POINT

 

Valew!!!

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.