webForumDet fria alternativet

?do=ut problem!

ASP

4 svar · 252 visningar · startad av PappaMuppen

Medlem sedan aug. 200343 inlägg
Frågan#1

Hej hej.
Har lite problem när jag ska länka till en artikel som samtidigt ska +a på med 1 i klick när man klickar på länken. Har fått ihop denna kod. Men den fungerar inte riktigt. Någon som har ett bättre förslag?

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("artiklar.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT \* FROM forum Where Email = 'webbutveckling' ORDER BY Datum DESC"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

%>
<body><table width="100%">
<tr>
<td>
<b>Webbutveckling</b></td><td align="right"><b>Läst</b></td></tr></table>
<% IF RecSet.EOF then %>
<table><tr><td>
För tillfället finns det inga artiklar i denna kategorin.</td></tr></table>
<%
ELSE
Do until RecSet.EOF
%>

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td> <a href="las.asp?id=<%=RecSet("ID")%>?do=ut&id=<%=RecSet("ID")%>"><%=RecSet("RUBRIK")%></A></td><td align="right"><%=RecSet("KLICK")%></td></tr>

<%
If Request.QueryString("do")= "ut" Then
Set RecSet=Conn.Execute("SELECT * From forum WHERE id=" & Request.Querystring("ID"))
Conn.Execute("UPDATE forum SET KLICK=KLICK+1 WHERE ID=" & Request.Querystring("ID"))
Response.Redirect("las.asp?id=RecSet("ID")")
End If

x=x+1
Recset.MoveNext
Loop
RecSet.Close
End If
%>

Medlem sedan mars 20015 287 inlägg
#2

kanske...

<body><table width="100%"> 
<tr> 
<td> 
<b>Webbutveckling</b></td><td align="right"><b>Läst</b></td></tr></table>
<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("artiklar.mdb") 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM forum Where Email = 'webbutveckling' ORDER BY Datum DESC" 
RecSet.Open SQL, Connect, 3, 3

IF RecSet.EOF then %> 
<table><tr><td> 
För tillfället finns det inga artiklar i denna kategorin.</td></tr></table> 
<% 
ELSE 
Do until RecSet.EOF 
%> 

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td> <a href="las.asp?id=<%=RecSet("ID")%>?do=ut&id=<%=RecSet("ID")%>"><%=RecSet("RUBRIK")%></A></td><td align="right"><%=RecSet("KLICK")%></td></tr> 

<% 
Recset.MoveNext 
Loop 
End If 
RecSet.Close
Connect.Close

If Request.QueryString("do")= "ut" Then 
Conn.Execute("UPDATE forum SET KLICK=KLICK+1 WHERE ID=" & Request.Querystring("ID")) 
Response.Redirect "las.asp?id=" & Request.Querystring("ID") 
End If 
%>

PS. Använd kodtaggarna.

Medlem sedan aug. 200343 inlägg
#3

Nu får jag ett annat felmeddelande:

Error Type:
ADODB.Recordset (0x800A0E7D)
Operation is not allowed on an object referencing a closed or invalid connection.

Jag ska visa hela koden för er.

<% Response.Buffer = True %>
<!--#include file="adovbs.inc" -->
<html>
<head>
<title>Artiklar</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="/webzone/style.css">
</head>
<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("artiklar.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM forum Where Email = 'webbutveckling' ORDER BY Datum DESC"
	RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
%>
<body><table width="100%"> 
<tr> 
<td> 
<b>Webbutveckling</b></td><td align="right"><b>Läst</b></td></tr></table>
<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("artiklar.mdb") 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM forum Where Email = 'webbutveckling' ORDER BY Datum DESC" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 

IF RecSet.EOF then %> 
<table><tr><td> 
För tillfället finns det inga artiklar i denna kategorin.</td></tr></table> 
<% 
ELSE 
Do until RecSet.EOF 
%> 

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td> <a href="las.asp?id=<%=RecSet("ID")%>?do=ut&id=<%=RecSet("ID")%>"><%=RecSet("RUBRIK")%></A></td><td align="right"><%=RecSet("KLICK")%></td></tr> 

<% 
Recset.MoveNext 
Loop 
End If 
RecSet.Close
Connect.Close

If Request.QueryString("do")= "ut" Then 
Conn.Execute("UPDATE forum SET KLICK=KLICK+1 WHERE ID=" & Request.Querystring("ID")) 
Response.Redirect "las.asp?id=" & Request.Querystring("ID") 
End If 
%>

</table>
<p>
<!----------- Nästa Kategori ----------->
 <table width="100%"><tr><td><b>Intervjuer</b></td></tr></table>
<% 
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM forum Where Email = 'intervjuer' ORDER BY Datum DESC"
	RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

If RecSet.EOF Then %>
<table><tr><td>
För tillfället finns det inga artiklar i denna kategorin.</td></tr></table>
<ul>
<ul>

<% Else

Do Until RecSet.EOF %>

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td>  <a href="las.asp?id=<%=RecSet("ID")%>"><%= RecSet("RUBRIK")%></A></td><td align="right"><%= RecSet("KLICK")%></td></tr>

<%
RecSet.MoveNext
Loop
RecSet.Close
End If %>
</table>
<p>
</ul></ul>
<!----------- Nästa Kategori -----------><table><tr><td><b>Recensioner</b></td></tr></table>
<% 
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM forum Where Email = 'recentioner' ORDER BY Datum DESC"
	RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

If RecSet.EOF Then %>

<table width="100%"><tr><td>För tillfället finns det inga artiklar i denna kategorin.</td><td align="right"><%= RecSet("KLICK")%></td></tr></table>
<ul>
<ul>

<% Else

Do Until RecSet.EOF %>

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td>  <a href="las.asp?id=<%=RecSet("ID")%>"><%= RecSet("RUBRIK")%></A></td><td align="right"><%= RecSet("KLICK")%></td></tr>

<%
RecSet.MoveNext
Loop
RecSet.Close
End If %>
</table>
</ul></ul>
<p>
<!----------- Nästa Kategori ----------->
<table width="100%"><tr><td><b>Övriga artiklar</b></td></tr></table>
<% 
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	SQL = "SELECT * FROM forum Where Email = 'ovriga' ORDER BY Datum DESC"
	RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

If RecSet.EOF Then %>

<font size="1" face="Verdana">För tillfället finns det inga artiklar i denna kategorin.</font>
<ul>
<ul>

<% Else

Do Until RecSet.EOF %>

<table width="100%"><tr><td width="75"><%=RecSet("DATUM")%></td><td>  <a href="las.asp?id=<%=RecSet("ID")%>"><%= RecSet("RUBRIK")%></A></td><td align="right"><%= RecSet("KLICK")%></td></tr>

<%
RecSet.MoveNext
Loop
RecSet.Close
End If %>
</table>
</ul></ul>
<!----------- Slut på kategorier ----------->
  
</body>

Hoppas någon kan lösa detta.

Medlem sedan nov. 20017 144 inlägg
#4

Tycker att det ser ut som att du har en strulig databasstruktur. Att öppna och stänga databasen så många gånger får sidan att bli seg. Tänk om, är mitt tips.

Medlem sedan mars 20015 287 inlägg
#5

Du kan ju iofs börja med att klippa bort den första öppningen av db.

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)