Tjena!
Jag undrar om någon kan hjälpa mig ändra denna kod så att jag slipper att den skriver ut en massa saker som ssql strängen t.ex utan att det blir något fel:
<!--#INCLUDE FILE = "Adovbs.inc"-->
<% id = Request.Querystring("ID")
oldamne = Request.Querystring("rubrik")
upd = Request.Form("dummy")
If Len(upd) > 0 Then
If Len(oldamne) > 0 Then
samne = oldamne
Else
samne = Request.Form("Amne")
End If
snamn = Request.Form("Namn")
sepost = Request.Form("Epost")
sinlagg = Request.Form("Inlagg")
End If %>
<html>
<head>
<title>Inlägg i diskussion</title>
</HEAD>
<BODY>
<P> </P>
<FORM Method="POST" action="forum_nyttinlagg.asp?ID=<%=id%>&Rubrik=<%=Server.URLEncode(oldamne)%>" name="Test">
<A Href="forum.asp">
<P>Tillbaka till forumet</A><BR>
<%
If Len(upd) > 0 Then
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("forumdb.mdb")
Set Cmd = Server.Createobject("ADODB.Command")
Cmd.ActiveConnection = Connect
ssql = "Insert Into forum (Iid, Rubrik, ORIG, Namn, Email, Meddelande, "
ssql = ssql & "datum) values (?,?,?,?,?,?,?)"
Response.Write ssql & "<BR>"
Cmd.CommandText = ssql
Cmd.CommandType = adCmdText
Response.Write "id = " & id & "<BR>"
If Len(id) < 1 Then id = "0"
Set prm = Cmd.CreateParameter (,adUnsignedInt ,,,cInt(id))
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adVarChar,,Len(samne),samne)
cmd.Parameters.Append prm
If Len(oldamne) > 0 Then
Sorig = False
Else
Sorig = True
End If
Set prm = Cmd.CreateParameter (,adBoolean ,,,cBool(Sorig))
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(snamn),snamn)
Cmd.Parameters.Append prm
If NOT(Len(sepost) > 0) Then sepost = "ingen adress"
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sepost),sepost)
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adVarChar ,,Len(sinlagg),sinlagg)
Cmd.Parameters.Append prm
Set prm = Cmd.CreateParameter (,adDBDate ,,,date)
Cmd.Parameters.Append prm
Connect.BeginTrans
If Len(oldamne) > 0 Then
supdate="Update forum Set Antal=Antal + 1 Where ID = " & id
Response.Write supdate & "<BR>"
Connect.Execute supdate
End If
Response.Write "Params: "
For z = 0 To Cmd.Parameters.Count -1
Response.Write Cmd.Parameters.Item(z).Value & " "
Next
Response.Write "<BR>"
Cmd.Execute
Connect.CommitTrans
Response.Write "Inlägg Sparat!"
Else %>
<P>Ämne:
<%
If Len(oldamne) > 0 Then
Response.Write oldamne
%>
<Input Type="hidden" Name="Amne" size="20" Value = <%= oldamne %>></P>
<%Else%>
<Input Type="text" Name="Amne" Size="20"></P>
<%End If %>
<P>Namn: <Input Type="text" Name="Namn" size="20">
Epost: <Input Type="text" Name="Epost" size="20"></P>
<P>Inlägg: <Textarea rows="4" Name="Inlagg" Cols="40"></Textarea></P>
<Input Type="hidden" Name="dummy" Size="20"></P>
<P><Input Type="Button" Value="Skicka" Name="B1" onClick="B1_OnClick(); return
false;">
<Input Type="Reset" Value="Återställ" Name="reset">
</P>
</FORM>
<% End If %>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
function B1_OnClick() {
var nam = document.Test.Namn.value;
var inl = document.Test.Inlagg.value;
var amn = document.Test.Amne.value;
if((nam.length != 0) && (inl.length != 0)&& (amn.length != 0)) {
document.Test.dummy.value = "xxx";
document.Test.submit();
} else {
alert("Du glömde att fylla i Namn, Inlägg eller Ämne");
}
}
</SCRIPT>
Jag har en kod som visar de 10 "översta" nyheterna i en databas. Den ser ut så här:
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("nyheter.mdb"))
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT TOP 10 * FROM nyheter ORDER BY ID DESC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% Do Until RecSet.EOF %>
Hur gör jag om jag på en annan sida vill visa nyhet 11-20? Jag måste antagligen byta ut SELECT TOP 10 till någonting annat, men till vad?