Hej Hej Nina! primärnyckelskolumnen är det t.ex. första kolumnen där det står ID? Ja det är det säkert. tack för att du försöker hjälpa mig men jag får inte riktigt till det.uppdatera post
för att slippa all spam i min gästbok har jag nu lagt till en kolumn i databasen som heter OK och där sätts en flagga med status 0. För att inläggen skall synas i gästboken måste flaggan vara 1. Detta funkar bra.
Nu skulle jag vilja ha en sida som JAG kan kolla (tex. från jobbet) och se de meddelandena som har skrivits och som har status 0 (och som altså inte syns ännu i gästboken) Detta har jag också lyckats få till.
Den koden ser ut så här:
<code>
<%
Dim datum
datum = Now()
Dim IntSida, Connect, RecSet, SQL, bildnamn, imgBild
%>
<html>
<head>
<title>- historiesajten.se -</title>
<link rel="stylesheet" type="text/css" href=mall.css>
<%
myId=Replace(Request.Querystring("id"),"'", "")
Set Connect = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("slaktbok.mdb")
SQL = "SELECT * FROM tabell1 where ok = 0 order by datum desc, id desc"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
%>
<form action="okadd.asp" method="post">
<%
Do until RecSet.EOF Or IntAntal >= RecSet.PageSize
IntAntal = IntAntal + 1
%>
<table border="0" width="430" cellspacing="0" cellpadding="2">
<TR bgcolor="#EFEFEF"><TD WIDTH=200 ID=dd><B><nobr>Namn:</B> > <%=RecSet("namn")%></TD></TR>
<TR bgcolor="#EFEFEF"><TD ID=dd COLSPAN=2><B>Hemvist:</B> <%=RecSet("city")%></TD></TR>
<TR bgcolor="#EFEFEF"><TD ID=dd COLSPAN=2><B>Hemsida:</B> target="_blank"> <%=RecSet("homepage")%></TD></TR>
<TR bgcolor="#EFEFEF"><TD ID=dd COLSPAN=2 align=left><B>Datum:</B> <%=RecSet("datum")%></TD></TR>
<TR><TD width=420 ID=dd COLSPAN="2" bgcolor="#EFEFEF"><%=RecSet("med")%></td></tr>
<TR bgcolor="#EFEFEF"><TD id=dd><input type=radio name=ok value=1>OK</td></tr>
<TR bgcolor="#EFEFEF"><TD id=dd><input type=radio name=ok value=0>nej</td></tr>
<TR bgcolor="#000000"><TD height=5></td></tr>
<%
RecSet.MoveNext
Loop
If RecSet.PageCount > 1 Then
For I = 1 To RecSet.PageCount
If I <> IntSida Then
Response.Write("" & I & " ")
Else
Response.Write(I & " ")
End If
Next
End If
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
<input type="submit" value="update">
</form>
</TD>
</TR>
</table>
</body>
</html>
</code>
På den sidan som bara jag kan se vill jag ha radioknappar som man kan fylla i JA eller NEJ och klickar jag i JA skall det meddelandet sätta om 0:an till en 1:a så att det meddelandet syns i gästboken. Men jag har fått total hjärnsläpp. Skulle bli glad om någon kunde hjälpa mig. Antagligen en massa fel i koden ovanför för att inte tala om den här koden som skall uppdatera:
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("slaktbok.mdb")
strSQL = "UPDATE tabell1 SET ok = 1 WHERE ok =0"
Connect.Execute(strSQL)
Connect.Close: Set Connect = Nothing
%>
</code>
som sagt total hjärnsläpp. Det som händer när jag klickar på "Update" är att även om jag har klickat i radioknappen "NEJ" så sätts OK-kolumnen till 1, och har jag flera meddelanden som ligger i rad sätts alla till 1. Jag vill ju kunna sätta JA JA NEJ JA typ som skall bli 1, 1, 0, 1 om ni förstår vad jag menar...
behöver verkligen hjälp!!
Måste väl till en if then else sats eller nått men är inge´ bra på det....
//NinaSv: uppdatera post
Du behöver hämta med mer data från posten, t.ex primärnyckelskolumnen.
Den använder du sedan i UPDATE satsen,
för att kunna uppdatera just det specifika meddelandet du läst.
Ungerfär:
" UPDATE tabell1 SET ok = 1 WHERE primärnyckel = "data som du hämtat med meddelandet" "
//HåkanSv:uppdatera post
hur får man med den och hur skall man skriva då?Sv: uppdatera post
För att få med den skriver du:
SELECT ID, meddelandkolumnen FROM tabell1 WHERE ok = 0
//HåkanSv:uppdatera post
man kanske inte behöver
<TR bgcolor="#EFEFEF"><TD id=dd><input type=radio name=ok value=1>OK</td></tr>
<TR bgcolor="#EFEFEF"><TD id=dd><input type=radio name=ok value=0>nej</td></tr>
??
man kanske skulle kunna få länkar istället som heter typ "ta bort" och "lägg till" istället och när
man klickar på dem så försvinner de från databasen eller ändrar 0 till en 1:a?
hur skall man göra då?
//Nina