Buongiorno a tutti. sto creando un sito e-commerce. Avrei bisogno di cancellare i record sll'interno del database "cart" se questi sono stati inseriti da più di 20 minuti...
Potete aiutarmi?![]()
Buongiorno a tutti. sto creando un sito e-commerce. Avrei bisogno di cancellare i record sll'interno del database "cart" se questi sono stati inseriti da più di 20 minuti...
Potete aiutarmi?![]()
Un uomo senza donna è come un fianco senza spina...
puoi creai un operazione pianificata se il server è il tuo,oppure metti nell pagina principale del sito o anche in tutte se vuoi) un pezzetto di codice all'inizio di ognuna che fa una query sulla tabella che controlla la data di inserimento dei records e nel caso li cancella (ovviamente il 2° metodo presuppone che qualcuno visiti la pagina che fa il controllo x poter funzionare...)
se usi oracle o sql server puoi usare un job invece di un'operazione pianificata. cmq nessuno dei due metodi ti garantisce che gli ordini vengano cancellati effettivamente dopo 20 minuti (a meno che tu non programmi il timer affinché esegua l'operazione ogni minuto)
un'alternativa potrebbe essere che quando viene inserito l'ordine viene anche attivato il job, ma anche questo mi pare dispendioso
secondo me la cosa più semplice e meno impegnativa è controllare per ogni utente, lo stato dei suoi ordini quando naviga nel sito come suggerito sopra
xxx
la soluzione più semplice è creare una sub nel global.asa che al momento della session_onEnd si occupi di fare un delete sulla tabella interessata.
Ciao lufo5
Non conosco il file global.asa... potresti aiutarmi?
Una domanda si interfaccia bene con il comando
comunque il mio discorso era un po' più semplice... in pratica i prodotti hanno una data, all'interno del carrello... superato un certo tempo da quella data essi devono essere cancellati...codice:sqldele = "delete from cart where UserName = '"&username&"'
Spero che il problema possa risolversi un po' più facilmente...
Grazie![]()
Un uomo senza donna è come un fianco senza spina...
io ho sempre fatto come detto prima,una query in testa ad ogni pagina che cancella i record è vecchi di 20 minuti (o quanto pare a te)
mi sembra che + semplice di così...
con il global.asa nn ottieni una cancellazione basata sul tempo trascorso,ma la faresti ogni volta che scade la sessione dell'utente...a questo punto devi decidere cosa ti serve
Io sono capace di creare una differenza di date datediff, ma non capisco come mettere in relazione i record del database.io ho sempre fatto come detto prima,una query in testa ad ogni pagina che cancella i record è vecchi di 20 minuti (o quanto pare a te)
es
se l'ora all'interno di un campo è 12.25 e l'ora attuale è 12.45 come faccio a cancellare quel record?
sqldele = "delete from cart .... poi?
Bho![]()
Un uomo senza donna è come un fianco senza spina...
nel caso del global.asa puoi decidere di far durare la sessione dell'utente per 20 minuti. Al termine di tale periodo, la sessione viene chiusa e generato l'evento session_onEnd nel global.asa. Qui puoi inserire la stringa sql che hai messo sopra.Originariamente inviato da domenico.nardo
Ciao lufo5
Non conosco il file global.asa... potresti aiutarmi?
Una domanda si interfaccia bene con il comando
comunque il mio discorso era un po' più semplice... in pratica i prodotti hanno una data, all'interno del carrello... superato un certo tempo da quella data essi devono essere cancellati...codice:sqldele = "delete from cart where UserName = '"&username&"'
Spero che il problema possa risolversi un po' più facilmente...
Grazie![]()
Altrimenti fai come dice Galex.
qui trovi tutto quello che ti può servire per capire come far funzionare il global.asa:
http://www.w3schools.com/asp/asp_globalasa.asp