webForumDet fria alternativet

Uppadatera inlägg..

ASP

10 svar · 269 visningar · startad av asp

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

Jag har en liten kod här som gör så att man kan uppdatera inlägg. Nu klickar man på länken som du ser nedan så kommer man till formuläret, dock så är bara det senaste inläggets värden i formuläret, oavsett om man klickar på redigera inlägg ex. 12.

<a href="gb.asp?visa=admin&redigera=<%= rs("id") %>">

Här är koden för att redigera inlägget. Jag tror det har något att göra med . If Request.QueryString("redigera") = "" & id & "" Then

If Len(namn) > 0 Then
Conn.Execute("UPDATE Post SET "& namn &"','"& epost &"','"& ort &"','"& meddelande & " WHERE Id = " & Request.Querystring("redigera"))
End if
If Request.QueryString("redigera") = "" & id & "" Then
Response.Write"<form method='post' name='post' action='gb.asp?visa=spara'><br>"
Response.Write"<input type='text' name='namn' value='"& rs("namn") &"'<br>"
Response.Write"<input type='text' name='epost' value='"& rs("epost") &"'<br>"
Response.Write"<input type='text' name='ort' value='"& rs("ort") &"'<br>"
Response.Write"<textarea style='height: 100' name='meddelande'>"& rs("meddelande") &"</textarea><br>"
Response.Write"<input type='submit' value='Uppdatera'>"
Response.Write"</form>"
End if
Medlem sedan nov. 20017 144 inlägg
#2

Räcker det inte bara med: If Request.QueryString("redigera") = id

Medlem sedan nov. 20017 144 inlägg
#3

Du har också glömt enkelfnuttar före "namn", och efter "meddelande".

Medlem sedan aug. 2002733 inlägg
#4

Nej, det var inte det. Den måste ju veta från vilket ID den skall hämta all information..

Medlem sedan nov. 20017 144 inlägg
#5

ser du id:t efter "admin&redigera=" i länken?

Medlem sedan aug. 2002733 inlägg
#6

japp

Medlem sedan nov. 20017 144 inlägg
#7

Du måste ju hämta id:12's poster också:

If Request.QueryString("redigera") = "" & id & "" Then
[b]'Här måste du också hämta posterna med ett recset[/b]
Response.Write"<form method='post' name='post' action='gb.asp?visa=spara'><br>"
Response.Write"<input type='text' name='namn' value='"& rs
End if
Medlem sedan aug. 2002733 inlägg
#8

Eftersom länken ser ut såhär <a href="gb.asp?visa=admin&redigera=<%= rs("id") %>"> så blir ju adressen ex. admin&redigera=23

Har ni kommit på vad som kan vara felet?

Medlem sedan aug. 2002733 inlägg
#9

hur gör jag det? alltså hämtar Posterna?

Medlem sedan nov. 20017 144 inlägg
#10
'Öppna din databas på lämpligt sätt(Conn)
strSQL = "SELECT * FROM post WHERE id = "& id
set objRS = Conn.Execute(strSQL) 
Skriver ut med [red]objRS("meddelande")[/red] osv.
Medlem sedan jan. 20032 285 inlägg
#11

Kör såhär:

i gb.asp:

If Request.QueryString("redigera") <> "" Then
  strSQL = "SELECT * FROM Post WHERE Id = " & CInt(Request.QueryString("redigera"))
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open "" ' Öppna databasen
  Set objRS = objConn.Execute(strSQL)
  If NOT objRS.EOF Then 
%>
<form action="redigera.asp" method="post">
<input type="hidden" name="id" value="<%=Request.QueryString("redigera")%>">
Namn: <input type="text" name="namn" value="<%=objRS("namn")%>"><br>
Epost: <input type="text" name="mail" value="<%=objRS("epost")%>"><br>
Ort: <input type="text" name="ort" value="<%=objRS("ort")%>"><br>
<textarea cols="25" rows="4" name="meddelande"><%=objRS("meddelande")%></textarea><p>
<input type="submit" value="Redigera!">
</form>
<%
  End If
  Set objRS = Nothing
  objConn.Close
  Set objConn = Nothing
End If
%>

i redigera.asp:

<%
Dim strNamn, strMail, strOrd, strMeddelande, strSQL, objConn

strNamn = Replace(Request.Form("namn"),"'","''")
strMail = Replace(Request.Form("mail"),"'","''")
strOrt = Replace(Request.Form("ort"),"'","''")
strMeddelande = Replace(Request.Form("meddelande"),"'","''")

strSQL = "UPDATE Post SET namn = '" & strNamn & "', epost = '" & strMail & "', ort = '" & strOrt & "', meddelande = '" & strMeddelande & "' WHERE Id = " & CInt(Request.Form("id"))
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "" ' Öppna databasen
objConn.Execute(strSQL),,128

objConn.Close
Set objConn = Nothing

Response.Redirect("gb.asp")
%>
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)