webForumDet fria alternativet

Uppdatera - Kryssrutor

ASP

9 svar · 463 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hello!

Behöver hjälp med att komma igång med tänket... ;)

Jag listar flera värden från en databas, framför varje värde listas en kryssruta (checkbox) jag kan kryssa i eller kryssa ur....jag ska kunna kryssa i en mass rutor och sen klicka på spara så ska ett textfält (varchar) i databasen uppdateras med ett ord som jag hämtar med querystring

Är det bäst att döpa alla checkboxar till samma namn?
...och hur skulle själva uppdateringskoden se ut?

<form action="" method="post">
<INPUT type="checkbox" id=checkbox1 name=checkbox1 checked> Val1
<INPUT type="checkbox" id=checkbox1 name=checkbox1 checked> Val2
<INPUT type="checkbox" id=checkbox1 name=checkbox1 checked> Val3
<INPUT type="checkbox" id=checkbox1 name=checkbox1 checked> Val4
<INPUT type="checkbox" id=checkbox1 name=checkbox1 checked> Val5
<INPUT type="submit" value="Spara"> 
</form>
Medlem sedan nov. 20017 144 inlägg
#2

Något liknande för att uppdatera:

boxar=request.form("boxar")
sql = "update from Table where box_id in(" & boxar  & ")"
con.Execute sql,,128
Medlem sedan mars 20011 346 inlägg
#3

...måste jag med denna kod ha id:et på fältet jag listar upp i namnet på checkboxen?

..för jag har ju ingen fält för checkbox utan vill uppdatera ett textfält i databasen

"Om ikryssad ruta, uppdatera textfältet med "halloj" där id:t = id på listad text" ;)

Medlem sedan nov. 20017 144 inlägg
#4

ironhead skrev:

...för jag har ju ingen fält för checkbox utan vill uppdatera ett textfält i databasen

Varför då?
Det är dumt att ha ett textfält för en boolean (true/false) eftersom att värdet i en checkbox endast kan vara just, ifylld eller inte ifylld.(true/false)
Vidare så skall alla checkboxar ha samma namn men olika values.

[b]sida1.asp[/b] 
<form action="sida2.asp">
<input type="checkbox" name="boxar" value="1">
<input type="checkbox" name="boxar" value="2">
<input type="checkbox" name="boxar" value="3">
<input type="submit" value="submit">
</form>

[b]sida2.asp[/b] 
boxar=request.form("boxar")
sql = "update from Table where box_id in(" & boxar  & ")"
con.Execute sql,,128

Alltså, har du endast den fösta boxen ikryssad så kommer databasen att uppdatera posten med box_id=1 till true.

Medlem sedan mars 20011 346 inlägg
#5

...men jag vill ju att ett ord ska fyllas i fältet om kryssrutan är ifylld

Medlem sedan nov. 20017 144 inlägg
#6

Har du tänkt "rätt" då?
Vad skall du ha checkboxarna till?

Medlem sedan nov. 20017 144 inlägg
#7

I annat fall får du väl göra en "vanlig" uppdatering av checkboxarna så kommer du få kommaseparerade värden i ditt textfält i databasen.

[b]Vilka är dina favoritmaträtter? [/b]
<form action="">
 [b]Fiskbullar:[/b]<input type="checkbox" name="boxar" value="fiskbullar">
 [b]Pölsa:[/b]<input type="checkbox" name="boxar" value="Pölsa">
 [b]Lappskojs:[/b]<input type="checkbox" name="boxar" value="Lappskojs">
<input type="submit" value="submit">
</form>
Medlem sedan mars 20011 346 inlägg
#8

nja...jag vill ha det såhär:

...på webbsidan:

kryssruta.....Benämning.....id
------------------------------
X.............Reservdäck....192
0.............Ratt..........224
X.............Däck..........456

...i databasen

id......Benämning.....Kategori
------------------------------
192.....Reservdäck....Reservdel
224.....Ratt..........Tillbehör
456.....Däck..........Reservdel

Man surfar in på webbsidan med ett värde (mha querystring) som
tex. är "Reservdel" då vill jag att där jag satt ett kryss ska
upppdatera "Kategori"-fältet i databasen med "Reservdel"

Förstår ni nu?
Jag ska alltså använda kryssrutor för att kategorisera en himla
massa bildelar

Medlem sedan mars 20011 346 inlägg
#9
<form action="sida2.asp" method="post">
<input type="checkbox" name="boxar" value="Guld"><br>
<input type="checkbox" name="boxar" value="Guld"><br>
<input type="checkbox" name="boxar" value="Guld"><br>
<input type="submit" value="submit">
</form>

boxar=Request.form("boxar")
response.write boxar

Om jag tex kryssar i ruta 1 & 3..så får jag bara en sträng med "värde, värde"

Jag skulle vilja ha "id, värde" för varje checkbox, går det att ordna?
så att man enkelt kan uppdatera med:

Update tabell Set field="boxar" where id="id"

Medlem sedan mars 20011 346 inlägg
#10

Löste det såhär:

sida1.asp
<form action="sida2.asp?res=Guld" method="post">

<input type="checkbox" name="boxar" value="Guld">
<input type="hidden" value="1" name="boxar">
<input type="checkbox" name="boxar" value="Guld">
<input type="hidden" value="2" name="boxar">
<input type="checkbox" name="boxar" value="Guld">
<input type="hidden" value="3" name="boxar">

<input type="submit" value="submit">
</form>

sida2.asp
boxar=Request.form("boxar")
res=Request.Querystring("res")

myArray = Split(boxar,",")

for i=0 to Ubound(myArray)

  if trim(myArray(i))=res Then 
    Response.Write myArray(i) & " id:" & myArray(i+1) & "<br>"
  End If
next
258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)