webForumDet fria alternativet

Kan någon ta sig en titt

ASP

9 svar · 203 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

På denna kod som inkluderas på varje sida på min webbsida.
Går det att förbättra den och göra den lite snabbare kanske.

Banner.asp - som inkluderas på varje sida

<!--#Include Virtual="/admin/banner_con.asp"-->

<%Set Conn = Server.CreateObject("Adodb.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; dbq=" & db

Set RecSet=Conn.Execute("Select * From banner Order By rotator")%>

      <%If RecSet.EOF Then%>
           <font size="2" face="Tahoma">Inga banners inlagda!</font>
      <%Else
      x = 0
      Do Until RecSet.EOF Or x=Antal%>
          <a href="/admin/banner_klick.asp?go=ut&id=<%=RecSet("id")%>" target="_blank" onmouseover="self.status='<%=RecSet("link")%>';return true" onmouseout="self.status=' ';return true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img src="<%=RecSet("banner")%>" border="0" width="88" height="31"></a>
      <%Conn.Execute("Update banner Set visad=visad+1 Where id = " & RecSet("id"))
      Conn.Execute("Update banner Set rotator=rotator+1 Where id = " & RecSet("id"))
      x=x+1
      RecSet.MoveNext
      Loop
      End If%>

banner_con.asp

<%
'#################################################
'---------------------Sökväg till databas från bannersidan!-----------
'#################################################

db = Server.MapPath("/database/banner.mdb")   

'#################################################
'-----------Antal banner på rad-----------------------------------------
'#################################################

Antal                           =  4

'#################################################
'-----------Adminnamn och lösen --------------------------------------
'#################################################

Admin1                       = "admin"
Admin2                       = "00000000"
%>

Banner_klick.asp

<!--#Include Virtual="/admin/banner_con.asp"-->

<%Set Conn = Server.CreateObject("Adodb.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; dbq=" & db

Set RecSet=Conn.Execute("Select * From banner Where id=" & request.querystring("id"))
Conn.Execute("Update banner Set klick=klick+1 Where id=" & request.querystring("id"))

Response.Redirect RecSet("link")%>
Medlem sedan dec. 20002 526 inlägg
#2

vad jag ser (har kollat lite snabbt) sa har du ju gamla kopplingen till db'n, byt ut den mot den nya, ska vara nagot snabbare(?) och mer problemfri...

Medlem sedan mars 20023 686 inlägg
#3

crisse6 skrev:

vad jag ser (har kollat lite snabbt) sa har du ju gamla kopplingen till db'n, byt ut den mot den nya, ska vara nagot snabbare(?) och mer problemfri...

jag vet inte hur man gör det..... :r

Medlem sedan dec. 20003 887 inlägg
#4
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & Server.MapPath("/Sökväg/dindatabas.mdb") & ";"

Antar att crisse6 syftar på den.

Medlem sedan mars 20023 686 inlägg
#5

ok, ska testa och ändra snart...

Medlem sedan apr. 20003 174 inlägg
#6

Snabbt genomgånget på hur jag hade försökt strukturera upp det: :)
..med reservation för vissa fel, snabbkodat. ;)

Banner.asp

[RED]<%

Dim Conn, RecSet, arrRecSet

'// GetRows
Set Conn = Server.CreateObject("Adodb.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& db

	Set RecSet = Conn.Execute("SELECT id, link, banner FROM banner ORDER BY rotator")
	If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()

RecSet.Close : Set RecSet = Nothing

'// Print
If IsArray(arrRecSet) Then
	For i = 0 To UBound(arrRecSet, 2)

		Dim intID, strLink, strBanner
		intID = arrRecSet(0,i)
		strLink = arrRecSet(1,i)
		strBanner = arrRecSet(2,i)
		Response.Write ""&_
		"<a href=""/admin/banner_klick.asp?go=ut&id="& intID &""" target=""_blank"" onmouseover=""self.status='"& strLink &"';return true;"" onmouseout=""self.status=' ';return true;"">"&_
		"<img src="""& strBanner &""" border=""0"" width=""88"" height=""31""></a>"

		Conn.Execute("UPDATE banner SET visad=visad+1, rotator=rotator+1 WHERE id = "& intID),,128

	Next
	Erase arrRecSet

Else
	Response.Write "<font size=""2"" face=""Tahoma"">Inga banners inlagda!</font>"

End If

[b]Conn.Close : Set Conn = Nothing[/b]

%>[/RED]

Banner_klick.asp

[RED]<%

Dim Conn, arrRecSet
Set Conn = Server.CreateObject("Adodb.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& db

	arrRecSet = Conn.Execute("SELECT link FROM banner WHERE id="& trim(Request.Querystring("id"))).GetRows()
	Conn.Execute("UPDATE banner SET klick=klick+1 WHERE id="& trim(Request.Querystring("id"))),,128

Conn.Close : Set Conn =  Nothing
Response.Redirect arrRecSet(0,0)

%>[/RED]

/r: ..flyttade Conn.Close : Set Conn = Nothing till ett mer korrekt ställe. Se fet stil.

 

Medlem sedan mars 20015 287 inlägg
#7

Kanske kan vara en ide att använda en annan benämning ´på din querystring om det där är filer som du ska inkludera lite här och där. Risken att du redan använder dig av "id" känns ganska stor.

Medlem sedan apr. 20003 174 inlägg
#8

solbulle skrev:

Kanske kan vara en ide att använda en annan benämning ´på din querystring om det där är filer som du ska inkludera lite här och där. Risken att du redan använder dig av "id" känns ganska stor.

Tanken är god. :)
Tror dock inte han behöver ändra det i just detta fall eftersom Banner_klick.asp öppnas
i ett nytt fönster och endast sköter klickräkningen och vidareskickningen.. Har jag fel så rätta mig. ;)

Medlem sedan mars 20023 686 inlägg
#9

Palle skrev:

solbulle skrev:

Kanske kan vara en ide att använda en annan benämning ´på din querystring om det där är filer som du ska inkludera lite här och där. Risken att du redan använder dig av "id" känns ganska stor.

Tanken är god. :)
Tror dock inte han behöver ändra det i just detta fall eftersom Banner_klick.asp öppnas
i ett nytt fönster och endast sköter klickräkningen och vidareskickningen.. Har jag fel så rätta mig. ;)

Du har rätt att den endast öppnas i ett nytt fönster och räknar klicken & vidareskickningen

Medlem sedan mars 20015 287 inlägg
#10

Palle skrev:

Har jag fel så rätta mig. ;)

Eh... nja det behövs nog inte... :r

Läste inte så noggrant, såg just det där med en fil som inkluderades. Lätt att få dubletter i så fall.

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)