Ir para conteúdo

POWERED BY:

Arquivado

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

edsonjose.pr

[Resolvido] como gravar log Page Views no mysql

Recommended Posts

Olá Pessoal

 

gostaria da ajuda de vocês para resolver este problema:

 

tenho esta função que grava o log de page views, no access funcionava certinho, como faço para adaptar esta função para o mysql utilizando a função abaixo de conversão de datas?

 

 

 

Log Page Views

'----------------------------------------------------------------------------
Dim Page, Views
	Page = Request.ServerVariables("SCRIPT_NAME") & Request.ServerVariables("QUERY_STRING")

	strSQL = "SELECT * FROM LogPageViews WHERE Page='" & Page & "' And MesLog=" & Month(Now) & " And AnoLog=" & Year(Now) & ""
	Grava

If objRS.EOF Then
   strSQL = "INSERT INTO LogPageViews (Page,Views,MesLog,AnoLog,Ultima) VALUES ('" & Page & "','1','" & Month(Now) & "','" & Year(Now) & "','" & Now & "')"
   Executa
Else
   Views = objRS("Views") + 1
   strSQL = "UPDATE DISTINCTROW LogPageViews SET Views=" & Views & ", Ultima='" & Now & "' WHERE Page='" & Page & "' And MesLog=" & Month(Now) & " And AnoLog=" & Year(Now) & ""
   Executa
End If

 

Função para convertar data

 

Function DataMySQL(sData)
dim sDia, sMes, sHoras, sMinutos, sSegundos

	sDia = Day(sData)
	sMes = Month(sData)
	sHoras  = Hour( sData )
	sMinutos	= Minute( sData )
	sSegundos	= Second( sData )
	
	If sDia <= 9 Then sDia = "0" & sDia 
	If sMes <= 9 Then sMes = "0" & sMes 
	If sHoras <= 9 Then sHoras = "0" & sHoras
	If sMinutos <= 9 Then sMinutos = "0" & sMinutos
	If sSegundos <= 9 Then sSegundos = "0" & sSegundos
	
	DataMySQL = Year(sData) & "-" & sMes & "-" & sDia & " " & sHoras & ":" & sMinutos & ":" & sSegundos

End Function

 

Estrutura da tabela no mysql

 

idLogOrigem  int(11)		
Origem	   varchar(100)			 
Views		int(11)						   
MesLog	   int(11)					  
AnoLog	   int(11)				 
Ultima	   datetime

 

Desde obrigado pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

'Log Page Views
'----------------------------------------------------------------------------
Dim Page, Views
	Page = Request.ServerVariables("SCRIPT_NAME") & Request.ServerVariables("QUERY_STRING")

   strSQL = "SELECT * FROM LogPageViews WHERE Page='" & Page & "' And MesLog=" & Month(NOW) & " And AnoLog=" & Year(NOW) & ""
	Grava

If objRS.EOF Then
   strSQL = "INSERT INTO LogPageViews (Page,Views,MesLog,AnoLog,Ultima) VALUES ('" & Page & "','1','" & Month(NOW) & "','" & Year(NOW) & "','" & DataMySQL(NOW) & "')"
   Executa
   
   
Else
   Views = objRS("Views") + 1
   strSQL = "UPDATE LogPageViews SET Views=" & Views & ", Ultima='" & DataMySQL(NOW) & "' WHERE Page='" & Page & "' And MesLog=" & Month(NOW) & " And AnoLog=" & Year(NOW) & "LIMIT 1"
   Executa
End If

fiz a alteração mas continua com erro de sintaxe

 

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 3.51 Driver][mysqld-4.1.18-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

 

Também ja alterei o NOW para DATE e não funcionou, onde estou errando?

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.