Jeg tror du blander begreberne lidt. En session er noget der startes ligeså snart en browser slår en side op på dit site. Det du så har oprettet er en sessions-variabel ved navn buy som så har værdi vare1;vare2;vare3 osv...
Værdien kan manipuleres med alm. strenghåndtering.
// Vi laver en variabel tmpString = "vare1;vare2;vare3;vare4;vare5"
// Navnet på den vare der skal fjernes vareDerSkalFjernes = "vare3";
// Vi fjerne alle instanser af varen. // Også selv om der skulle være flere af den. tmpString = Replace(tmpString,vareDerSkalFjernes,"")
// Hvis vi har efterladt et tomrum med to semikolonner efter hinanden, // rydder vi lige op efter os, og erstatter ;; med ; tmpString = Replace(tmpString,";;",";")
Nu skal du bare gøre det med en Sessions-variabel istedet. :-)
Hov.... Jeg bliver lige i tvivl.... Hvis du kan have den samme vare stående mange gange efter hinanden, er jeg ikke sikker på det bliver behørigt ryddet op.
Hvis du har buy = "vare1;vare2;vare2;vare2;vare2;vare3;vare4" vil du så få buy = "vare1;;;;;vare3;vare4" og efter semikolon-oprydning buy = "vare1;;;vare3;vare4"
Eller hvad? Nogen der kan sige hvordan Replace(tmpString,";;",";") arbejder? Vil den reducere ";;;;;;" til ";;;" eller til ";" ????
Øhm.... Det må så være hvis du har slettet alle varer, og den i princippet er tom? Det vil så sige at du også indsætter et ; selv om der kun er EN vare i din variabel?
Jeg forstod det bare som om du SEPAREREDE med semikolon. Det du gør, er at du altid indsætter et ; bagefter - uanset antal. Ikke det store, men hvis jeg vidste det fra starten, kunne opgaven løses lidt enklere...
dim vareDerSkalFjernes vareDerSkalFjernes = Request("vareDerSkalFjernes") & ";" Session("buy") = Replace(Session("buy"),vareDerSkalFjernes,"")
dim tmpString tmpString = Session("buy") vareDerSkalFjernes = Request("vareDerSkalFjernes"); tmpString = Replace(tmpString,vareDerSkalFjernes,"") dim tmpString2 tmpString2 = Replace(tmpString,";;",";") do until (tmpString = tmpString2) tmpString = tmpString2 tmpString2 = Replace(tmpString,";;",";") loop if (tmpString = ";") then tmpString="" end if Session("buy") = tmpString
Kan man ikke tjekke om stringen indeholder tegnet ; og hvis den gør bruge dim vareDerSkalFjernes vareDerSkalFjernes = Request("vareDerSkalFjernes") & ";" Session("buy") = Replace(Session("buy"),vareDerSkalFjernes,"")
ellers bruge
dim vareDerSkalFjernes vareDerSkalFjernes = Request("vareDerSkalFjernes") Session("buy") = Replace(Session("buy"),vareDerSkalFjernes,"")
Hvordan er det nu man tjekker om strengen indeholder et bestemt tegn?
Synes godt om
Ny brugerNybegynder
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.