avendo una variabile session così composta:
1,1,4,7,8,7,3,4
Come posso eliminare i valori doppi, trasformandola cosi':
1,4,7,8,3
Non e' importante l'ordine in cui vengono inseriti i valori.
grazie
avendo una variabile session così composta:
1,1,4,7,8,7,3,4
Come posso eliminare i valori doppi, trasformandola cosi':
1,4,7,8,3
Non e' importante l'ordine in cui vengono inseriti i valori.
grazie
Aggiungi la virgola alla fine e poi usa un instr per ogni valore generato da uno split...
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
avevo pensato di effettuare il controllo in fase di inserimento, ecco l'esempio del controllo della variabile e della sessione:
in poche parole da un link passo un valore tramite variabile "ARTICOLI" ad una pagina. Puo' capitare che l'utente possa cliccare su dei link aventi stesso valore... vorrei eliminare a monte il problema senza effettuare il controllo di "pulizia doppi campi" in seguito.codice:' controllo se la variabile articoli contiene valori IF request.querystring("articoli") <> "" THEN 'controllo della variabile session IF session("IDFILM") = "" THEN session("IDFILM") = request.querystring("articoli") ELSE session("IDFILM") = session("IDFILM") + "," + request.querystring("articoli") END IF END IF
Ho pensato di creare un array, creo un ciclo e se dopo il controllo il valore inserito non e' presente nell'array l'aggiungo con una virgola alla sessione.
scusami, per l'ignoranza non sono un grande esperto di asp, ma non saprei come implementare quello che tu mi hai consigliato.
potresti farmi un esempio, grazie
OK risolto così.
Penso che tu voglia dire questo?
Grazie per il consiglio, e' stato fondamentale...
codice:'controllo della variabile IF request.querystring("articoli") <> "" THEN 'controllo della variabile session IF session("IDFILM") = "" THEN session("IDFILM") = request.querystring("articoli") ELSE controllo = session("IDFILM") controllo = controllo + "," controllo = right(controllo, instr(controllo, ",")) IF controllo = request.querystring("articoli") & "," THEN response.write "Il film e' presente nel carrello!" ELSE response.write "Il film e' stato aggiunto al carrello!" session("IDFILM") = session("IDFILM") + "," + request.querystring("articoli") END IF END IF END IF
Si, in fase di inserimento.
Ok.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
si ma ora pensoche con quel tipo di codice, posso eliminare solo l'ultimo valore uguale.
esemipo, clicco:
ID 1
ID 2
ID 3
se passo ID 3, ok
ma se passo ID 1?
non lo vede e mi restituisce:
ID 1
ID 2
ID 3
ID 1
Infatti la right nel controllo non serve.
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Non riuscivo a risolvere, avevo intuito come usare l'instr, ho studiato la sintassi ma dopo ho usato un altro metodo: RegularExpression
ecco come ho fatto:
L'importante e' aver risolto. Grazie per l'aiuto, ciaocodice:IF request.querystring("articoli") <> "" THEN 'controllo della variabile session IF session("IDFILM") = "" THEN session("IDFILM") = request.querystring("articoli") ELSE contenuto = session("IDFILM") Function QuantitaSegno(colonna, segno) Dim objRegExpr Set objRegExpr = New RegExp objRegExpr.Pattern = segno objRegExpr.IgnoreCase = TRUE objRegExpr.Global = TRUE Dim colMatches Set colMatches = objRegExpr.Execute(colonna) QuantitaSegno = colMatches.Count End Function strColonna = contenuto strSegno = request.querystring("articoli") response.write "Hai inserito l'articolo: " & strSegno & " " IF QuantitaSegno(strcolonna, strSegno) = 0 THEN session("IDFILM") = session("IDFILM") + "," + strSegno ELSE response.write "Il film e' presente nel carrello!" & " " END IF END IF END IF