webForumDet fria alternativet

Få ut vilka poster som ska uppdateras.

ASP

15 svar · 332 visningar · startad av Mannen

Medlem sedan jan. 2003247 inlägg
Frågan#1

Tjenare
Har ett litet problem, jag har en sida där jag kör. (har tagit bort en del kod)

<%for i=0 to Ubound(adVektor,2)%>
Show: <input type="checkbox" name="chbShow" value="<%=intID%>" <%if blnShow then Response.Write "checked" end if%>>
<%next%>

Sedan när man skickar iväg formuläret kommer man till en annan sida som kollar vilka poster som ska uppdateras i databasen.

Det är här det blir problem, jag vet inte hur jag ska kolla vilka som ska sättas till true respektive false. (Kolummen i databsen är en Yes/No

Om checkboxen är markerad ska kolummen bli true annars om den är avmarkerad ska den bli false, hur ska jag göra om koden nedan så det blir rätt? :l

For I = 1 To Request.Form("chbShow").Count
intID=Request.Form("chbShow")(I) 

SQL="UPDATE tblTxtAdInvoice Set invAdShow=true WHERE invID="& intID
Set RecSet = Conn.Execute(SQL)
Next

Tack på förhand :)

Medlem sedan sep. 20026 425 inlägg
#2

1. Din if-sats

<%if blnShow then Response.Write "checked" end if%>>

innehåller inget villkor. Du måste lägga till exempelvis Len(blnshow)>0 eller dylikt.

2. Lagra 1:or och 0:or i stället för Yes och No om du vill skilja på poster. :)

Medlem sedan jan. 2003247 inlägg
#3
<%if blnShow then Response.Write "checked" end if%>>

Jo det gör den visst, om blnShow (dvs om posten invAdShow=true) så blir blnShow=true, dvs samma som blnShow)

Så om blnShow=true så kommer checkboxen vara markerad.

Problemet ligger inte där, det är på den sidan som jag vill uppdatera databsen det svåra är. Man måste väll kunna ta reda på om checkboxen är markerad eller ej?

Medlem sedan dec. 200012 464 inlägg
#4

Visas alla Invoicar på sidan eller är det bara en delmängd?

conn.execute "update tblTxtAdInvoice Set invAdShow=true WHERE invID in (" &  Request.Form("chbShow") & ")",,128

conn.execute "update tblTxtAdInvoice Set invAdShow=false  WHERE invID not in (" &  Request.Form("chbShow") & ")",,128

borde vara ok om du visar alla och det inte är allt för många poster.

Medlem sedan jan. 2003247 inlägg
#5

Tackar, vart har du lärt dig alla SQL frågor? Har du läst alla böcker som finns eller är du bara en naturbegåvning?

Vad skulle man göra utan wf, tackar... Skriver ut min kod om någon skulle behöva hjälp senare.


objConn.Execute "UPDATE tblTxtAdInvoice Set invAdShow=true WHERE invID in (" &  Request.Form("chbShow") & ")",,128
objConn.Execute "UPDATE tblTxtAdInvoice Set invAdShow=false WHERE invID not in (" &  Request.Form("chbShow") & ")",,128
Medlem sedan dec. 200012 464 inlägg
#6

Det behövs ingen for-loop, nu utför du samma update flera gånger..

Medlem sedan jan. 2003247 inlägg
#7

hopp, där missade jag något, tack igen

Medlem sedan jan. 2003247 inlägg
#8

Nu har jag dykt på problem med detta. Om jag kör Paging (med getrows) så har jag ju bara vissa poster som skickas till sidan där det ska sättas till true or false.

Hur gör jag då så inte alla de övriga posterna sätts till false?

Medlem sedan jan. 2003247 inlägg
#9

Ingen som vill eller ser tråden bara för gammal ut? :l

Medlem sedan dec. 200012 464 inlägg
#10

Lagra största och minsta id iför varje sida i två hidden-fält och lägg till villkoret

and id between " & requst.form("lowid")  & " and " & request.form("highid")
Medlem sedan jan. 2003247 inlägg
#11

Tack för svaret :)
Nu är det så att jag har en sökfunktion på alla poster (Var inte samma poster som första frågan). Därför är det ju olika ID´s, det finns inget annat sätt att lösa det på? Vore jättebra.

Medlem sedan dec. 200012 464 inlägg
#12

Med id menar jag den kolumn som du har paging enligt.

Medlem sedan jan. 2003247 inlägg
#13

Men eftersom det söks bland dem visas tex:
ID 1
ID 2
ID 5
ID 73
ID 89

Gör inte de luckorna att det inte fungerar? Tex ID 4 kommer bli false vid uppdatering.

Medlem sedan dec. 200012 464 inlägg
#14

Jag förstår problemet. Då kan du väl inkludera det ursprungliga sökvillkoret i dina update-satser.

Medlem sedan jan. 2003247 inlägg
#15

Det har du väldigt rätt i. :) Får titta på det imorgon, känner att jag måste lägga mig tidigt idag. Tack igen :)

Medlem sedan jan. 2003247 inlägg
#16

Allt är nu fixat, tack så hemskt mycket.

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