Avatar billede pool Nybegynder
09. marts 2001 - 12:35 Der er 6 kommentarer og
1 løsning

Rækkefølge i en FOR NEXT Løkke

Det virker som om at når jeg sender en submit form kommer feldterne i tilfældig orden
Når så jeg laver FOR NEXT løkke vil jeg meget gerne sorterer listen, kan det lade sig gøre?

eller bare i den orden form\'en er sat op i



For each item in Request.form
Response.write \"<tr><td width=\"\"200\"\">Navn: &nbsp;&nbsp;&nbsp;\" & item & \" </td><td width=\"\"300\"\"> Value: &nbsp;&nbsp;&nbsp;\" & Request.Form(item) & \"</td></tr>\"
next

/Henrik
Avatar billede nute Nybegynder
09. marts 2001 - 12:51 #1
hvis dette er måten du vil gjøre det på, foreslår jeg at du bruker en

Select Case sånn:

For each item in Request.form

Select case item
  case \"navn\"
    itemName = \"Navn\"
  case \"email\"
    itemName = \"Email\"
  case \"tlf\"
    itemName = \"Tlf\"
  End select
 
  Response.write \"<tr><td width=\"\"200\"\">\" & itemName & \": &nbsp;&nbsp;&nbsp;\" & item & \" </td><td width=\"\"300\"\"> Value: &nbsp;&nbsp;&nbsp;\" & Request.Form(item) & \"</td></tr>\"
next


forstår du hva jeg mener ( eller forstår jeg hva du mener ?? )

/nute

Avatar billede pool Nybegynder
09. marts 2001 - 13:18 #2
Ups jeg glemte at skrive at Submit formen bliver genereret dynamisk. det vil sige at jeg får navn, adresse og de vare der er bestilt, navnet på \"antal vare\" er vare nummeret. når jeg så prøver at liste dem, bliver de listet i tilfældig orden (ikke så fedt når man vil sende en kopi til kunden)

/Henrik
Avatar billede nute Nybegynder
09. marts 2001 - 13:36 #3
vil du liste i denne rekkegølgen ??

navn
adresse
varer bestilt

hvor varer bestilt er prioritert fra laveste til høyeste id
Avatar billede pool Nybegynder
09. marts 2001 - 14:20 #4
Varer nummererne er ikke vigtige at sortere, men det at de står mellem adressen er ikke fedt

/Loop
Avatar billede pool Nybegynder
09. marts 2001 - 14:23 #5
Her er min liste ikke kønt vel?


Navn:    recipient  Value:    henrik@loop.dk
Navn:    pq17.0220  Value:    10
Navn:    Email  Value:    Henrik
Navn:    required  Value:    Kundenr
Navn:    Bestiller  Value:    Henrik
Navn:    redirect  Value:    http://www.loop.dk/bestilt.asp
Navn:    pq01.0001  Value:    10
Navn:    Adresse  Value:    Henrik
Navn:    pq08.0023  Value:    10
Navn:    By  Value:    Henrik
Navn:    Land  Value:    Henrik
Navn:    Komentar  Value:    Henrik
Navn:    pq40.0150  Value:    10
Navn:    Firma  Value:    Henrik
Navn:    pq03.0180  Value:    10
Navn:    pq36.0010  Value:    10
Navn:    Postnr  Value:    Henrik
Navn:    salgs og leveringsbetingelserne  Value:    Accepteret
Navn:    Fax  Value:    Henrik
Navn:    Rekvisitionsnr  Value:   
Navn:    Kundenr  Value:   
Navn:    Tlf  Value:    Henrik
Avatar billede nute Nybegynder
09. marts 2001 - 14:40 #6
jeg foreslår da at du gjør følgende:

alle opplysninger om bestiller:

Navn, Adress, Tlf, Firma, Email og så videre, de filtrerer du ved hjelp av en Select Case (som jeg foreslo over) og legger disse inn i en array. HVIS et parameter ikke er av noen av disse typene (altså en vare) legger du dem inn i en array, som du iterer igjennom etter at alle parameterne er sjekket. Dette vil se noenlunde sånn ut:

Dim personArray = Array()
DIm itemArray  = Array()
arrItemIndex  = 0


for each item in Request.Form
  Select case item
    case \"Navn\"
      personArray(0) = item & \" \" & Request.form(item)
    case \"Adresse\"
      personArray(1) = item & \" \" & Request.form(item)
   
    ...

    case else
      itemArray(arrItemIndex) = item
  End Select
next

deretter kan du først loope gjennom din \'personArray\' og etterpå din \'itemArray\'

jeg er ikke helt sikker på opprettelsen av dynamiske arrays i ASP, men grunntanken for hvordan du kan gjøre det, har jeg iallefall skissert for deg

håper det kan hjelpe...

nute
Avatar billede nute Nybegynder
09. marts 2001 - 14:52 #7
jeg fant ut at du må benytte ReDim for hver iterasjon:

Dim personArray = Array(0)
Dim itemArray  = Array(0)

...

Select Case item
  case \"Navn\"
    ReDim personArray( UBound(personArray) + 1, 0 )

  ...

  case else
    ReDim itemArray( UBound(itemArray) + 1, 0 )

les litt om Array her:

http://www.activeserverpages.dk/iishelp/vbscript/htm/vsfctarray.htm

Dim her

http://www.activeserverpages.dk/iishelp/vbscript/htm/vsstmdim.htm

og ReDim her:

http://www.activeserverpages.dk/iishelp/vbscript/htm/vsstmredim.htm

/nute
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