webForumDet fria alternativet
Logga in / Bli medlem

link counter

ASP

15 svar · 244 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Trådstart#1

nä, nu skulle jag behöva ett litet tips eller script som gör så att ens sida räknar hur många gånger någon har klickat på en länk...????? Har sökt, men inte hittat något exakt...har också laddat ner hela..men dom buggar som barbados...

jag ska ha typ topplista på ringsignaler ex:

1. Wyclef Jean - 911 (121 klick)
2. ............ - ..... (118 klick)
osv....

Medlem sedan okt. 20001 558 inlägg
#2

Gör en databas som du lagrar alla låtar i (eller en textfil). Ha en fält som du har en siffra i (antal klick). Sedan länkar du till låten med "song.asp?song=wyclef". I song.asp uppdaterar du sedan i din databas (eller txtfil) att värdet för den låten skall vara värdet + 1 och sedan kör du en response.redirect till låten :)

Medlem sedan dec. 20002 526 inlägg
#3

du tror inte att du skulle kunna göra ngt exempel? vore jävligt sjysst! (tänk på att jag har en tio-i-topp lista med favoritsidor :e )

he he!

Medlem sedan okt. 20001 558 inlägg
#4

Detta borde väl funka

strSQL = "UPDATE songsTable SET antalKlick = " & objRS("antalKlick") + 1 & " WHERE songID = " & Request.QueryString("songID") & ""
					objConn.Execute(strSQL)

Response.Redirect objRS("songUrl")

Detta förutsätter att du har en access databas där du har en tabell som heter songsTable. I den har du 3 fält, songID = räknare, antalKlick = Tal och songUrl = text. I songUrl skriver du sökvägen till låten, typ /songs/pelle.mp3 osv.

Detta borde funka, skrev det ur huvudet :)

Medlem sedan dec. 20002 526 inlägg
#5

nja...tack för koden..men det funkar ej...??? vad är fel? jag får detta meddelande:

Körningsfel i Microsoft VBScript error '800a000d' 

Inkompatibla typer: 'objRS' 

/billdalsida/link.asp, line 7

och här är koden:

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\billdalsida\song.mdb"

	Set RecSet = Server.CreateObject("ADODB.Recordset") %>

<%
strSQL = "UPDATE songsTable SET antalKlick = " & objRS("antalKlick") + 1 & " WHERE songID = " & Request.QueryString("songID") & ""
objConn.Execute(strSQL)
Response.Redirect objRS("songUrl")
%>
Medlem sedan dec. 19998 577 inlägg
#6

Först måste du initiera objektet du försöker använda, DVS objRs... detta (antar jag utifrån din kod) borde göras med en SQL-sträng som hämtar URL:en som du skall redirecta.

Mvh, Vide

Medlem sedan dec. 20002 526 inlägg
#7

ursäkta...men är det någon som vill rätta mitt script så att det funkar...??? vore väldigt sjysst av den som göra det... jag fattar inte ett skit...

Medlem sedan dec. 1999653 inlägg
#8

rossifumis kod är helt rätt, men du använder den på fel sätt :)

du använder Connect och RecSet, medans han i sitt exempel använder objConn och objRS. Såhär ska din kod se ut:

<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\billdalsida\song.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset") %>

<%
strSQL = "UPDATE dintabell SET antalKlick = " & RecSet("antalKlick") + 1 & " WHERE songID = " & Request.QueryString("songID") & ""
Connect.Execute(strSQL)
Response.Redirect RecSet("songUrl")
%>

MVH

Medlem sedan dec. 20002 526 inlägg
#9

ska testa nu....

"Jävligt fin grabb den där nakoz"

:e

Medlem sedan dec. 20002 526 inlägg
#10

f*n det funkar ju inte....

nu får man ju detta meddelande:

ADODB.Fields error '800a0cc1' 

ADO kunde inte hitta objektet i mängden som överensstämmer med det begärda namnet eller numret. 

/billdalsida/link.asp, line 5
strSQL = "UPDATE songsTable SET antalKlick = " & RecSet("antalKlick") + 1 & " WHERE songID = " & Request.QueryString("songID") & ""
Medlem sedan juni 200032 967 inlägg
#11

RecSet är ju bara ett tomt recordset-objekt, eftersom du inte sagt att någonting skall göras med det.

du måste ju också ställa en select-fråga genom connectionobjektet för att du ska få ut någonting.

Medlem sedan dec. 19996 721 inlägg
#12

Men.....

strSQL = "UPDATE songsTable SET antalKlick = antalKlick + 1 WHERE songID = " & Request.QueryString("songID")

Medlem sedan juni 200032 967 inlägg
#13

japp! att man inte tänkte på det... ;)

då kan du ju också strunta i att skapa ett recordsetobjekt, eftersom du inte behöver använda det.

Medlem sedan sep. 2000215 inlägg
#14

Kan du inte bara göra såhär?!

<%
If NOT Request.QueryString("songID") = "" then 
hamtafiljavel
end if

Sub hamtafiljavel
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\billdalsida\song.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset") 

stm = "SELECT * FROM songsTable WHERE songID = " & Request.QueryString("songID") 

RecSet.Open stm,connect,adOpenStatic,adLockOptimistic

RecSet("antalklick") = RecSet("antalklick") +1
fil = RecSet("songUrl")

RecSet.Update
RecSet.Close
Connect.close
Response.Redirect fil
End sub
%>

(Med undantag för tillfällig mental retardation) ;)

Medlem sedan dec. 20002 526 inlägg
#15

fick inget felmeddelande denna gång... :)

men hur gör man i länkväg när man ska hämta låten... ? blir det typ
link.asp?songUrl=david.mp3 eller link.asp?songID=1 eller hur då? har någon lösning, förklara gärna var jag ska lägga den länk för att varje klick på just "den" länken ska räknas...

Medlem sedan sep. 2000215 inlägg
#16

Hej!

Vet inte om du kollat in http://www.idg.se/webstudio/asp/asp171.asp där kan du läsa en del om querystrings osv.

För övrigt:
Jag antar att du vill göra en sida som listar alla låtarna som finns i databasen och i en querystring skicka med id:nummret hos varje låt till de script som vi diskuterat på denna sida.

"Life's a bitch who sucks... then you marry one who doesn't"

[Redigerat av Andreas L den 29 jan 2001]

3908 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
1645 ms — deklarationer (db)
0 ms — hämta statistik (cache)
2246 ms — hämta tråd, inlägg och bilagor (db)
1639 ms — ändringar (db)