Har försökt knåpa ihp en enkelt adminsystem men inte lýckats något vidare. Det enda jag vill få ut av det hela är att ta bort posten från databasen. Och att det innan är listat på en sida.
Ni får gärna komma med något enklare/bättre exempel.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=;Password"
sqlstmt = "SELECT * from formular Order by ID Desc"
Set RS = conn.execute(sqlstmt)
If rs.eof then
response.write "<CENTER>Det finns inget i databasen.</CENTER>"
response.end
End If
Do while not rs.eof
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
epost = Request.Form("epost")
hemtel = Request.Form("hemtel")
arbtel = Request.Form("arbtel")
mobtel = Request.Form("mobtel")
postadress = Request.Form("postadress")
postnummer = Request.Form("postnummer")
ort = Request.Form("ort")
epost2 = Request.Form("epost2")
sdate = Date
%>
\<%
IF IsEmpty(request.form("ID")) THEN
response.write "\<CENTER\>Du måste markera en checkbox innan du kan radera ett inlägg.\<BR\>"
response.write "Var vänlig tryck på webbläsarens bakåtknapp.\</CENTER\>"
response.end
End IF
set rs = nothing
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=;Password="
For each record in request("ID")
sqlstmt = "DELETE \* from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt)
Next
response.write "\<CENTER\>Raderat\</CENTER\>"
set rs = nothing
set conn = nothing
%\>--\>
Välkommen till Webforum förresten!
Testa detta: (ändringarna är i fetstil)
<%
IF request.form("ID") <> "" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=;Password="
For each record in request("ID")
sqlstmt = "DELETE * from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt)
Next
response.write "<CENTER>Raderat</CENTER>"
set rs = nothing
set conn = nothing
End if
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=;Password"
sqlstmt = "SELECT * from formular Order by ID Desc"
Set RS = conn.execute(sqlstmt)
If rs.eof then
response.write "<CENTER>Det finns inget i databasen.</CENTER>"
response.end
End If
Do while not rs.eof
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
epost = Request.Form("epost")
hemtel = Request.Form("hemtel")
arbtel = Request.Form("arbtel")
mobtel = Request.Form("mobtel")
postadress = Request.Form("postadress")
postnummer = Request.Form("postnummer")
ort = Request.Form("ort")
epost2 = Request.Form("epost2")
sdate = Date
%>
[b]<form method="post" name="frm" action="sidansnamn.asp">[/b]
<TABLE>
<TR>
<TD>[b]<input type="checkbox" name="ID" value="<%=ID%>" onClick="document.frm.submit();">[/b]
<%=ID%></TD>
<TR><TD><%=fornamn%></TD></TR>
<TR><TD><%=efternamnepost%></TD></TR>
<TR><TD><%=epost%></TD></TR>
<TR><TD><%=epost2%></TD></TR>
<TR><TD><%=hemtel%></TD></TR>
<TR><TD><%=arbtel%></TD></TR>
<TR><TD><%=mobtel%></TD></TR>
<TR><TD><%=postadress%></TD></TR>
<TR><TD><%=postnummer%></TD></TR>
<TR><TD><%=ort%></TD></TR>
<TR><TD><%=sdate%></TD></TR>
</TABLE>
<%
rs.MoveNext
loop
%>
<TABLE>
<TR><TD><B>Nr</B></TD></TR>
<TR><TD><B>Namn</B></TD></TR>
<TR><TD><B>E-post</B></TD></TR>
<TR><TD><B>Telefonnr</B></TD></TR>
<TR><TD><B>Sort</B></TD></TR>
<TR><TD><B>Kategori</B></TD></TR>
<TR><TD><B>Rubrik</B></TD></TR>
<TR><TD><B>Annonsen</B></TD></TR>
<TR><TD><B>Datum</B></TD></TR>
<TR><TD><B>Tid</B></TD></TR>
</TABLE>
[b]</form>[/b]
PS. Använd KOD taggarna när du skriver kod i forumet.
Tackar, jag känner mig verklingen välkommen.
Är van att kod bli markerat av sig självt.
Nej det fungerar inte riktigt glömde lista all kod, glömde den viktigaste biten. Fick nu också ett felmedelande när jag markerade checkboxen.
All kod inklusive hjälpen jag fått av er:
<%
IF request.form("ID") <> "" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ""
For each record in request("ID")
sqlstmt = "DELETE * from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt)
Next
response.write "<CENTER>Raderat</CENTER>"
set rs = nothing
set conn = nothing
End if
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN;"
sqlstmt = "SELECT * from formular Order by ID Desc"
Set RS = conn.execute(sqlstmt)
If rs.eof then
response.write "<CENTER>Det finns inget i databasen.</CENTER>"
response.end
End If
Do while not rs.eof
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
epost = Request.Form("epost")
hemtel = Request.Form("hemtel")
arbtel = Request.Form("arbtel")
mobtel = Request.Form("mobtel")
postadress = Request.Form("postadress")
postnummer = Request.Form("postnummer")
ort = Request.Form("ort")
epost2 = Request.Form("epost2")
sdate = Date
%>
<form method="post" name="frm" action="admin.asp">
<TABLE>
<TR>
<TD><input type="checkbox" name="ID" value="<%=ID%>" onClick="document.frm.submit();">
<%=ID%></TD>
<TR><TD><%=fornamn%></TD></TR>
<TR><TD><%=efternamnepost%></TD></TR>
<TR><TD><%=epost%></TD></TR>
<TR><TD><%=epost2%></TD></TR>
<TR><TD><%=hemtel%></TD></TR>
<TR><TD><%=arbtel%></TD></TR>
<TR><TD><%=mobtel%></TD></TR>
<TR><TD><%=postadress%></TD></TR>
<TR><TD><%=postnummer%></TD></TR>
<TR><TD><%=ort%></TD></TR>
<TR><TD><%=sdate%></TD></TR>
</TABLE>
<%
rs.MoveNext
loop
%>
<TABLE>
<TR><TD><B>Nr</B></TD></TR>
<TR><TD><B>Namn</B></TD></TR>
<TR><TD><B>E-post</B></TD></TR>
<TR><TD><B>Telefonnr</B></TD></TR>
<TR><TD><B>Sort</B></TD></TR>
<TR><TD><B>Kategori</B></TD></TR>
<TR><TD><B>Rubrik</B></TD></TR>
<TR><TD><B>Annonsen</B></TD></TR>
<TR><TD><B>Datum</B></TD></TR>
<TR><TD><B>Tid</B></TD></TR>
</TABLE>
</form>
<%
IF IsEmpty(request.form("ID")) THEN
response.write "<CENTER>Du måste markera en checkbox innan du kan radera ett inlägg.<BR>"
response.write "Var vänlig tryck på webbläsarens bakåtknapp.</CENTER>"
response.end
End IF
set rs = nothing
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=;Password="
For each record in request("ID")
sqlstmt = "DELETE * from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt) [B]<-------Fel på denna rad[/B]
Next
response.write "<CENTER>Raderat</CENTER>"
set rs = nothing
set conn = nothing
%>
Felmeddelande
ADODB.Connection.1 error '80004005'
SQLState: 37000
Native Error Code: -3100
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID='.
Du behöver ju inte den sista delen av koden eftersom den redan finns högst upp? Och den koden du har högst upp körs bara om Request.Form("ID") inte är tom.
Detta borde ju räcka
<%
IF request.form("ID") <> "" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ""
For each record in request("ID")
sqlstmt = "DELETE * from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt)
Next
response.write "<CENTER>Raderat</CENTER>"
set rs = nothing
set conn = nothing
End if
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN;"
sqlstmt = "SELECT * from formular Order by ID Desc"
Set RS = conn.execute(sqlstmt)
If rs.eof then
response.write "<CENTER>Det finns inget i databasen.</CENTER>"
response.end
End If
Do while not rs.eof
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
epost = Request.Form("epost")
hemtel = Request.Form("hemtel")
arbtel = Request.Form("arbtel")
mobtel = Request.Form("mobtel")
postadress = Request.Form("postadress")
postnummer = Request.Form("postnummer")
ort = Request.Form("ort")
epost2 = Request.Form("epost2")
sdate = Date
%>
<form method="post" name="frm" action="admin.asp">
<TABLE>
<TR>
<TD><input type="checkbox" name="ID" value="<%=ID%>" onClick="document.frm.submit();">
<%=ID%></TD>
<TR><TD><%=fornamn%></TD></TR>
<TR><TD><%=efternamnepost%></TD></TR>
<TR><TD><%=epost%></TD></TR>
<TR><TD><%=epost2%></TD></TR>
<TR><TD><%=hemtel%></TD></TR>
<TR><TD><%=arbtel%></TD></TR>
<TR><TD><%=mobtel%></TD></TR>
<TR><TD><%=postadress%></TD></TR>
<TR><TD><%=postnummer%></TD></TR>
<TR><TD><%=ort%></TD></TR>
<TR><TD><%=sdate%></TD></TR>
</TABLE>
<%
rs.MoveNext
loop
%>
<TABLE>
<TR><TD><B>Nr</B></TD></TR>
<TR><TD><B>Namn</B></TD></TR>
<TR><TD><B>E-post</B></TD></TR>
<TR><TD><B>Telefonnr</B></TD></TR>
<TR><TD><B>Sort</B></TD></TR>
<TR><TD><B>Kategori</B></TD></TR>
<TR><TD><B>Rubrik</B></TD></TR>
<TR><TD><B>Annonsen</B></TD></TR>
<TR><TD><B>Datum</B></TD></TR>
<TR><TD><B>Tid</B></TD></TR>
</TABLE>
</form>
Måste vara dum eller nåt. Jag får inte det att fungerara. Den listar inte något av vad som finns i databasen. Det kommer bara upp en chebox ruta och datumet.Det är allt som visas, förstår verklingen inte vad som är fel.
Men ännu fungerar det inte, för när man markerar en checkbox så laddas sidan om. Hur gör man för att ta bort en post, förstår mig inte på det.
<%
IF request.form("ID") <> "" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
For each record in request("ID")
sqlstmt = "DELETE * from formular WHERE ID=" & record
Set RS = conn.execute(sqlstmt)
Next
response.write "<CENTER>Raderat</CENTER>"
set rs = nothing
set conn = nothing
End if
%>
<form name="frm" action="admin.asp" method="post">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
sqlstmt = "SELECT * from formular Order by ID Desc"
Set RS = conn.execute(sqlstmt)
If rs.eof then
response.write "<CENTER>Det finns inget i databasen.</CENTER>"
response.end
End If
Do while not rs.eof
fornamn = Request.Form("fornamn")
efternamn = Request.Form("efternamn")
epost = rs("epost")
hemtel = rs("hemtel")
arbtel = rs("arbtel")
mobtel = rs("mobtel")
postadress = rs("postadress")
postnummer = rs("postnummer")
ort = rs("ort")
epost2 = rs("epost2")
sdate = Date
%>
<TABLE>
<TR>
<TD><input type="checkbox" name="ID" value="<%=ID%>" onClick="document.frm.submit();">
<%=ID%></TD>
<TR><TD><B>Namn*</B></TD><TD><%=fornamn%></TD></TR>
<TR><TD><B>Efternamn*</B></TD><TD><%=efternamn%></TD></TR>
<TR><TD><B>E-post*</B></TD><TD><%=epost%></TD></TR>
<TR><TD><B>E-post2</B></TD><TD><%=epost2%></TD></TR>
<TR><TD><B>Hemtel*</B></TD><TD><%=hemtel%></TD></TR>
<TR><TD><B>Arbtel*</B></TD><TD><%=arbtel%></TD></TR>
<TR><TD><B>Mobtel*</B></TD><TD><%=mobtel%></TD></TR>
<TR><TD><B>Postadress</B></TD><TD><%=postadress%></TD></TR>
<TR><TD><B>Postnummer</B></TD><TD><%=postnummer%></TD></TR>
<TR><TD><B>Ort</B></TD><TD><%=ort%></TD></TR>
<TR><TD><B>Datum</B></TD><TD><%=sdate%></TD></TR>
</TABLE>
<%
rs.MoveNext
loop
%>
<input type="submit" value="Ta bort">
</TABLE>
</form>
Om du inte vill skicka formen direkt utan kunna markera flera checkboxar.
Samt slutligen kan du "effektivisera" din delete:
IF request.form("ID") <> "" THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
sqlstmt = "DELETE * from formular WHERE ID in (" & request("ID") & ")"
conn.execute(sqlstmt)
set conn = nothing
response.write "<CENTER>Raderat</CENTER>"
End if