Avatar billede sth Novice
05. februar 2006 - 16:10 Der er 16 kommentarer og
1 løsning

hvordan laves dette lidt smart

jeg har denne variabel som kan være alt mellem 0 og 200
jeg ahr bruge for at kunne lave en ny variabel der heder dato_liste_ + custpt_pt_levday

men kan selv f gøre  som nedenstående..... men det er da meget lidt smart

if custpt_pt_levday=0 then
dato_liste_0= dato_liste

elseif custpt_pt_levday=1 then
dato_liste_1= dato_liste

elseif custpt_pt_levday=2 then
dato_liste_2= dato_liste

elseif custpt_pt_levday=3 then
dato_liste_3= dato_liste

elseif custpt_pt_levday=4 then
dato_liste_4= dato_liste

elseif osv......
end if


nogen med en smart løsning ?
Avatar billede nicer Nybegynder
05. februar 2006 - 16:17 #1
du kan prøve at dele dem op? fx. 1-5 6-13 osv osv.
Avatar billede polle007 Nybegynder
05. februar 2006 - 16:19 #2
Execute("dato_liste_" & custpt_pt_levday & " = " & dato_liste)

sikkerhed: hvis variablerne kommer som input fra en usikker kilde, skal du huske at kontrollere at de ikke indeholder andet end tal
Avatar billede Jman Praktikant
05. februar 2006 - 16:33 #3
x = 0
do while x < 201
if custpt_pt_levday=x then
dato_liste_x = dato_liste
end if
x=x+1
loop
Avatar billede polle007 Nybegynder
05. februar 2006 - 16:34 #4
superioer, dato_liste_x vil blive fortolket præcis som dato_liste_x, og ikke dato_liste_[indsæt x her]
Avatar billede Jman Praktikant
05. februar 2006 - 16:39 #5
ja, det er også rigtig.. doh!
Men forstår vist helle ikke helt spørgsmålet - uanset hvad der er valgt skal dat_liste[x] være = samme variabel
Avatar billede polle007 Nybegynder
05. februar 2006 - 16:45 #6
Det er så fordelen med Execute, med den kan man opbygge dynamisk kode runtime
Avatar billede sth Novice
05. februar 2006 - 17:40 #7
polle007 jeg tror ikke helt jeg forstår Execute("dato_liste_" & custpt_pt_levday & " = " & dato_liste)
hvordan får jeg så dat i min variabel så ejg kan bruge den igen et andet sted i min kode ?

superior den har jeg også prøvet :-)


Det jeg skal bruge det til at at danne nopget html-kode (en dropdown box) som vi se nogler mulige leveringsdatoer r, fidusen er så at der i min kode skal vises en dropdown for hver vare og så er det jo ikke smart at beregne den for alle vare når jeg kan nøjes med at danne og genbruge dem på et andet tidspunkt.
Avatar billede tjaz Nybegynder
06. februar 2006 - 12:12 #8
har ikke prøvet det, men mon ikke det virker hvis du laver:

dato_liste_x

om til:

dato_liste_"& x &"

?
Avatar billede sth Novice
06. februar 2006 - 21:47 #9
Du har muligvis ret, me jeg tror ikke jeg forstår dig, kunne du omskrive koden for mig


jeg prøver lige at forklare mit problem igen


jeg har en tabel hvor jeg har nogle datoer med dage hvor lageret har åben og dermed mulighed for at sende vare
I en anden tabel har jeg mine vare og nogle vare har en leveringstid på 0 dage andre på 4 dage osv.

Hvis du så forestiller di at en kunde har 200 vare at vælge i mellem vil jeg skulle beregne en dropdown pr. vare med mulige leveringsdatoer, men da en kunde typisk kun har vare med 3-4 forskellige leveringstider var det at jeg ville danne den html-kode der viser de forskellige dropdown

Lidt for enkelt ser min kode sådan ud:



SQL_dage ="SELECT DISTINCT (`custpt_pt_levday`) from custpt WHERE `custpt_cust`='"& kundenummer &"' ORDER BY custpt_pt_levday"
Conn.Execute (SQL_dage)
Set rs5 = conn.Execute(SQL_dage)
Do While Not rs5.EOF or rs5.BOF
custpt_pt_levday= rs5("custpt_pt_levday")

dato_liste= "<select name='lev_date' size='1'>"'***************SKLAL SLETTES

                                dato_liste=dato_liste+ "<option value='0' SELECTED>" & trans_funktion("webord_tekst15") & "</Option>"

                                'laver et oplad for mulige leveringsdage
                                SQL_wkday ="SELECT * from wkday LIMIT "& start_dag+custpt_pt_levday  &","&custpt_pt_levday+30&""
                                Conn.Execute (SQL_wkday)
                                Set rs2 = conn.Execute(SQL_wkday)
                                Do While Not rs2.EOF or rs2.BOF
                               
                                    if        levplan_mon    =1 and RS2("wkday_daynbr") =2 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    Levplan_tue    =1 and RS2("wkday_daynbr") =3 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    levplan_wen    =1 and RS2("wkday_daynbr") =4 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    levplan_thu    =1 and RS2("wkday_daynbr") =5 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    levplan_fri    =1 and RS2("wkday_daynbr") =6 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    Levplan_sat    =1 and RS2("wkday_daynbr") =7 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    elseif    levplan_sun    =1 and RS2("wkday_daynbr") =1 then
                                        dato_liste=dato_liste+ "<option value='" & RS2("wkday_date") & "'>" & rs2("wkday_date") & "</Option>"
                                    else
                                    end if
                                rs2.movenext
                                loop
                                dato_liste=dato_liste+ "</select>"


               
Her ville jeg så gerne genmme  den tekst streng / htmlkode så jeg kan få fat  i den på et senere tidspunkt, dette sker når jeg lister knudens vare her læser jeg leveringstiden pr. vare og jeg havde så forestillet mig at jeg nu kunne kalde den streng / htmlkode jeg havde dannet før

rs5.movenext
loop


giver dette mening ? ellers må jeg jo lave en elseig me de 200 muligheder hvilket jeg allerede har lavet og det virker men det er godt nok ikke kønt !
Avatar billede sth Novice
06. februar 2006 - 21:48 #10
beklager den dårlige formatering, håber i kan læse det
Avatar billede sth Novice
06. februar 2006 - 21:51 #11
eller kunne man lave en funktion der så kalder den grimmekode i en include ?

grim kode:
if custpt_pt_levday=0 then
dato_liste_0= dato_liste

elseif custpt_pt_levday=1 then
dato_liste_1= dato_liste

elseif custpt_pt_levday=2 then
dato_liste_2= dato_liste

elseif custpt_pt_levday=3 then
dato_liste_3= dato_liste

elseif custpt_pt_levday=4 then
dato_liste_4= dato_liste

elseif osv......

elseif custpt_pt_levday=200 then
dato_liste_200= dato_liste


end if
Avatar billede tjaz Nybegynder
07. februar 2006 - 15:39 #12
har prøvet mig lidt frem og det lader ikke til, at du kan lave dynamiske variabler i asp, men du kan evt lave det med sessions? så er det bare et spørgsmål om at udskrive en session i stedet for en variable?

<%
For x = 0 to 200
if custpt_pt_levday = x then
session(""& dato_liste_ & x &"") = dato_liste
end if
Next
%>
Avatar billede sth Novice
07. februar 2006 - 21:05 #13
tjaz:
Du har ret i at det virker, men mine erfinger med session kan efterhånden være på et megetlille sted, da jeg ofte syntes at webserveren taber mine session's
men ok jeg vil give dig ret i at det virker så smider du et svar er der point til dig
Avatar billede tjaz Nybegynder
08. februar 2006 - 12:34 #14
ingen grund til at give point for et svar som ikke er brugbart ... for der må findes en løsning et sted ... bare med at finde den :)
Avatar billede sth Novice
08. februar 2006 - 17:31 #15
jeg fatter bare ikke at man skal lave at man skal lave flerehundrede liner kode for at løse noget der burde være simpel !

jeg lukker dette spørgsmål og prøver at lave et nyt hvor jeg omformulere det lidt
Avatar billede sth Novice
08. februar 2006 - 17:45 #16
Så fandt jeg løsningen  !
Execute ("dato_liste_" & custpt_pt_levday & " = """ & dato_liste & """")
Response.write "<BR>"& dato_liste_0
Response.write "<BR>"& dato_liste_1
Response.write "<BR>"& dato_liste_10

jeg læste lige svaret fra polle007
og søgte så her på eksperten på  Execute og fandt http://www.eksperten.dk/spm/252886

og man fristes næsten til at sige at selvf. havde eagleeye et svar på dette

POLLE007 smider du et svar det var dig der lete mig i den rigtige retning
Avatar billede sth Novice
11. februar 2006 - 18:53 #17
POLLE007  jeg beklager... jeg havde jo godkendt mit eget svar hvis du vil have dine point så giv lige lyd fra dig så opretter jeg et nyt spørgsmål
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