03. maj 2006 - 12:09Der er
26 kommentarer og 1 løsning
Database hjælp - trykket links tæller
Jeg har nogle links i et database som bliver vist til brugerne på min side. Jeg vil meget gerne have lavet en tæller så jeg kan se hvor mange gange der er blevet trykket på disse links.
tilføj et talfelt med f.eks navnet "clicks" til links tabellen i din database. opret en redir.asp udskift det link du normalt skriver ud med href="redir.asp?id=<%=rs("linkid")%>" i redir opdatere clicks med 1 og redirect til det link du har gemt i linkdatabasen med id = clng(request.querystring("id"))
Synes godt om
Slettet bruger
03. maj 2006 - 12:26#2
Okay.. lyder fornuftigt... Tak... Håber du har tid til at give lidt mere assistance.. Er ikke super inden for ASP, men kæmper med at få det lært. :-)
Har tilføjet et "klik" felt i databasen. Har oprettet en redir.asp Har ændret min orginale link til "redir.asp?id=<%=rs("linkid")%>"
"Linkid", er det fordi jeg skal læse hvad mit link har af ID i databasen som jeg senere vil bruge i redir.asp for at kunne bruge det ritige link ?
Og er det så bare at læse "klik" fra databasen og tilføje en til værdi og smide den tilbage igen og derefter redirect med den kommando du skrev, men skal det ikke også være "linkid" her og ikke kun "id" ?
("Linkid", er det fordi jeg skal læse hvad mit link har af ID i databasen som jeg senere vil bruge i redir.asp for at kunne bruge det ritige link ?) Ja
hvis du skriver navnet på den tabel du gemmer dine links i, samt navnet på den kolonne der indeholder linket, kan jeg godt bikse redir.asp sammen til dig
i movieplayer.asp indsætter du følgende: klikid = clng(request.querystring("id")) Sql ="update sjove set klik = klik+1 where id=" & klikid hvis du allerede har en Database forbindelse åben kalder du conn.execute(Sql) ellers laver du bare en ny connection
Det ser ud som om du ikke har udskiftet hele linket
Synes godt om
Slettet bruger
03. maj 2006 - 13:22#10
Jeg skriver dette i movieplayer:
<% Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM styrt ORDER BY tid ASC" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("sti til database") rs.Open strSQL, strDSN, 1
klikid = clng(request.querystring("id")) Sql ="update sjove set klik = klik+1 where id=" & klikid
"sti til database" skal slf være den rigtige sti til din database. rs.open skal have en connection som parameter istedet for strDSN
Synes godt om
Slettet bruger
03. maj 2006 - 15:16#13
Den kommer stadig med en fejl:
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/movieplayer.asp, line 143
Har følgende:
<% Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM styrt ORDER BY tid ASC" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("movies.mdb") rs.Open strSQL, connection, 1
klikid = clng(request.querystring("id"))
Sql ="update sjove set klik = klik+1 where id=" & klikid
nu ved jeg ikke hva der ellers ligger i dit script, men den del der har med kliktælleren kan laves således: klikId = clng(request.querystring("id")) set klikConn = server.createObject("adodb.connection") klikConn.open "Provider=Microsoft.Jet.OleDb.4.0;Data Source="&Server.MapPath("movies.mdb") klikConn.execute "update sjove set klik = klik+1 where id=" & klikid klikConn.close set klikConn=nothing
så burde det ikke have nogen indflydelse på resten af din kode
Synes godt om
Slettet bruger
03. maj 2006 - 15:34#15
Tror måske det er noget af mit andet kode der laver lort.
Så kommer den med følgende (Det har ellers virker, men må have ændret noget)
Provider error '80004005'
Unspecified error
/moviestyrt.asp, line 197
Det virker første gang man trykker på den (liste over filmklip) men når jeg så trykker f.eks. F5 så kommer den med fejlen. Er det fordi den ikke får lukket database forbindelse evt. ?
Synes godt om
Slettet bruger
03. maj 2006 - 15:39#16
Når jeg først åbner listen og trykker et filmklip virker det første gang, trykker jeg så på listen igen kommer den med ovenstående fejl.
Linje 197 er strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("....movies.mdb")
Synes godt om
Slettet bruger
03. maj 2006 - 15:40#17
PS. Sorry der er så meget bøvl og tak fordi du gider hjælpe. Men når man først er kommet i gang vil man jo bare gerne have det til at virke. :-)
Mærkeligt... Det virker stadig ikke... Hvad dælen kan der være galt...
Det virker første gang jeg trykker, men anden gang kommer fejlen hvis jeg opdaterer eller vælger den igen (asp filen som udskriver listen). Det må jo næsten være noget med databasen at gøre der ikke er lukket eller noget???
Prøv at skifte tilbage til den oprindelige strDSN og skift klikConn.open "Provider=Microsoft.Jet.OleDb.4.0;Data Source="&Server.MapPath("movies.mdb") med klikConn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("movies.mdb")
Synes godt om
Slettet bruger
03. maj 2006 - 16:00#23
Så ser det ud til at virke.... Tester det lige...
Synes godt om
Slettet bruger
03. maj 2006 - 16:02#24
Efter jeg har fået det rettet lidt og brugt din connection linje virker det!!!
Det eneste problem er at der ikke kommer nogle "klik" i databasen. (Det har ikke virket endnu).... Men ser lige om jeg har lavet noget lort nogle steder..
Synes godt om
Slettet bruger
03. maj 2006 - 16:05#25
Det gode ved problemerne her er at jeg lære en masse. :-)
Men har brugt denne linje i "moviestyrt.asp" som udskriver listen (som du skrev):
Og i movieplayer.asp har jeg brugt følgende: <% Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM styrt ORDER BY tid ASC" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/movies.mdb") rs.Open strSQL, connection,1
klikid = clng(request.querystring("id")) Sql ="update sjove set klik = klik+1 where id=" & klikid
rs.Close Set rs = Nothing %>
Synes godt om
Slettet bruger
03. maj 2006 - 16:13#26
har lige lavet et direkte eksempel med database og det hele så det står totalt som det er nu så der ikke er ting der kan forvirer.
Synes godt om
Slettet bruger
04. maj 2006 - 11:20#27
Så virker det sgu!!! Fik rettet lidt småting rundt omkring.. hehe.. puha et arbejde for så lidt.. men sådan er det jo når det driller... Men jeg siger mange tak for hjælpen.. :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.