Salve a tutti, mi sto dilettando nella realizzazione di un ecommerce...dopo tanto cercare finalmente ho trovato un ottimo script per il carrello.
Questo script fa uso di un array per memorizzare i dati degli articoli: in particolare è di due colonne, colonna 1 = id degli articoli, colonna 2 = quantità degli articoli.
Inserimento, modifica e svuota carrello funzionano perfettamente. Invece la cancellazione mi sta dando problemi.
COME FUNZIONA? ho l'elenco degli articoli inseriti nel carrello e per ciascuno un checkbox di eliminazione. Se checko e faccio "aggiorna carrello" dovrebbe prelevare gli id checkati e fare gli opportuni spostamenti nell'array e il ridimensionamento.
In realtà questo non succede correttamente: es. ne checko due e ne elimina tre...ne checko uno e ne elimina quattro...non capisco bene cosa faccia.
Volete esaminare con me la sub???
codice:
sub cancellaArticoli()
'Questa routine elimina un articolo dal carrello
'con una tecnica di shifting degli elementi
articoli=split(request("elimina"),",")
presenti=true
for k=0 to ubound(articoli)
x=0
response.write x
do
if cint(carrello(0,x)) = cint(articoli(k)) then
'Verifico se si tratta dell'ultimo elemento
if x<ubound(carrello,2) then
ultimo=ubound(carrello,2)
carrello(0,x)=carrello(0,ultimo)
carrello(1,x)=carrello(1,ultimo)
end if
if ubound(carrello,2)=0 then
erase carrello
presenti=false
else
redim preserve carrello(1,ubound(carrello,2)-1)
end if
exit do
else
x=x+1
end if
loop
next
end sub
Ho capito solo che il problema forse è qui:
carrello(0,x)=carrello(0,ultimo)
carrello(1,x)=carrello(1,ultimo)