Avatar billede Slettet bruger
27. april 2004 - 10:25 Der er 8 kommentarer

For each forklaring

Jeg har 2 spørgsmål:

1) Kan nogen forklare mig det tekniske i en for next løkke

2) Jeg har en formular med en masse produkter som hentes fra en database. Disse produkter kan brugeren tilføje en tekst samt en alternativ pris. Når han er færdig skal han klikke på en submit knap hvorefter en for next løkke skal smide det i en ny tabel. Der skal altså benyttes en for next løkke.

Mine input bokse er som følger og vi leger min db tabel matcher input boksene.

ProduktID
Tekst
Pris
TypeID

Men hvordan skal jeg sætte disse produkter ind i min tabel i et huk??

Min spæde start ser ud som følger og er selvfølgelig forkert:

For Each item In Request.Form("ID")
VarProduktID = Request.form("ProduktID")
VarTekst = Request.form("Tekst")
VarPris = Request.form("Pris")
VarTypeID = Request.form("TypeID")
Conn.execute("Insert Into tabel(felter) VALUES (inputfelter)")
Next
response.write("<script language='JavaScript'>confirm('Tilbuddet er nu oprettet!')</script>")
end if
Avatar billede jpvj Nybegynder
27. april 2004 - 10:34 #1
En for next løkke fungerer således:

sæt en tæller til startværdi
start:
udfør en handling
tæl tælleren op/ned med en værdi (ex. 1)
gentag fra start: indtil tæller når en slutværdi.

Ex. vil nedenstående gentage en udskrift 10 gange, med værdien af i (tælleren) startende på 1 og sluttende på 10.

for i=1 to 10
  print("I er nu " + i)
next i

I C/Java kan betingelserne i for sætningen sættes lidt mere avanceret.

/JP
Avatar billede nmh Nybegynder
27. april 2004 - 10:52 #2
Du skal ikke benytte en for-next løkke for at få hentet dine data fra en bruger på nettet.
Du henter dem således:
VarProduktID = Request.form("ProduktID")
VarTekst = Request.form("Tekst")
VarPris = Request.form("Pris")
VarTypeID = Request.form("TypeID")

jeg er ikke helt klar over, hvad du så vil gøre med disse data.
Skal de indsættes som en ny post i en tabel, der har 4 felter svarende til de 4 værdier, du nu har skaffet dig?
Hvis det er tilfældet sker det ved at aktivere en passende sql-sætning, der klarer det hele. Altså uden at bruge en for-next løkke.
Det kan jeg vise dig, men sig lige lidt mere om din situation.
Avatar billede Slettet bruger
27. april 2004 - 11:04 #3
jpvj -> Fungerer 'for each item' på samme måde? eller hvordan

nmh -> Jeg har en masse produkter i en tabel. Når en bruger vil danne et tilbud kan brugeren plukke i tabellen hvilket kan give x antal produkter i tilbuddet. Disse plukkede produkter lægges i en tilbuds tabel. Da tilbuddet er et..ja tilbud så kan han angive en alternativ tekst og pris på hver enkelt produkt hvorfor alle de plukkede tilbud hentes frem på skærmen med tilhørende tekst input og pris input felt. Efter brugeren har angivet alternativ tekst og pris på de produkter han ønsker skal brugeren kunne klikke på submit og her udføres så en indsættelse i tabellen.

Man kan egentlig godt sige at der er tale om en update men jeg synes det er lettere at slette og derefter oprette...men never mind that
Avatar billede nmh Nybegynder
27. april 2004 - 11:17 #4
Ser brugeren først en liste over samtlige produkter, og afkrydser derefter på checkbokse, de produkter, der skal angives tilbud på?

Indeholder di tilbudstabel felter, der svarer til samtlige produkter, men når der afgives tilbud,så oprettes en ny post, hvor kun nogle af felterne er involveret?
Avatar billede Slettet bruger
27. april 2004 - 11:36 #5
nmh ->

1) Ja næsten

2) Min tilbudstabel indeholder kun de produkter der vælges som tilbudsvarer, Når så der tilføjes alternativ tekst og pris opdateres tabellen med de nye indtastninger.

Slet -> indsæt = Opdater
Avatar billede nmh Nybegynder
27. april 2004 - 12:50 #6
Prøv at læse dette:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=64

Din metode med at hente item fra request.form er nok ikke så god. I artiklen er der et andet forslag.

Hvor mange felter er der faktisk i din form?
Avatar billede Slettet bruger
29. april 2004 - 10:23 #7
nmh -> det ved jeg ikke da brugeren kan vælge mange tilbud eller få tilbud.
Men hvis det ikke er for each next metoden hvilken skal jeg så bruge.
Avatar billede nmh Nybegynder
29. april 2004 - 10:32 #8
Gør hellere således (som beskrevet i artiklen,jeg henviser til):
For ix = 1 to Request.Form.Count
    fieldName = Request.Form.Key(ix)
    fieldValue = Request.Form.Item(ix)
    ...do something with fieldName and fieldValue...
Next

Så vil du få læst data i den rækkefølge inputfelterne står i hos brugeren.

Men jeg har måske misforstået situationen?
Jeg troede, at når brugeren plukkede, så var det ting valgt ud fra en rækkes felter, der blev vist.
Men det er måske fra en række dropdownmenuer brugeren vælger?

Metoden med at benytte for each...next eller den jeg lige henviser til er god, når der er et hav af input-felter, der skal holdes styr på. Felter, som alle skal behandles på nognelunde samme måde.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester