my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Variabile che aumenta e non si azzera
in
Classic ASP
>
ASP - avanzato
Ultimo messaggio
info@stefano
il 30 agosto 2010 alle 08:32
11 messaggi
dal 17 gennaio 2006
Salve a tutti
spero che qualcuno mi possa aiutare. vi spiego.
Ho creato un piccolo ciclo che recupera delle variabili imposte dall'amministratore nel database (valore_ricette, valore_video, ecc) e poi conteggia per ogni utente presente nel database un valore di attività (attivita_utente) che altro non è che il valore di queste singole variabili moltiplicato per le azioni svolte dall'utente (ad es. quante ricette ha inserito, quanti voti ha dato, quanti commenti, ecc).
Il sistema cicla benissimo però c'è un problema. il valore attivita_utente alla fine dell'analisi per il singolo utente non si azzera e pertanto l'utente successivo si trova ad avere il suo valore con aggiunto quello degli utenti precedenti.
ho provato di tutto ma non riesco ad azzerare tale variabile. dove sbaglio?
vi riporto il codice qui di seguito
GRAZIE a chi mi potrà aiutare
<%
' memorizzo i valori imposti dall'amministratore
Set RSu=Server.CreateObject ("ADODB.Recordset")
stringa = "select * from costanti where id like 1"
set RSu = DBCONN.execute (stringa)
valore_ricette = rsu("valore_ricette")
valore_video = rsu("valore_video")
valore_foto = rsu("valore_foto")
valore_commenti = rsu("valore_commenti")
valore_voti = rsu("valore_voti")
'periodo_utenti = rsu("periodo_utenti")
rsu.close
set rsu = nothing
%>
<% 'inizio a ciclare gli utenti naturalmete prendo solo quelli attivi
Set RSz=Server.CreateObject ("ADODB.Recordset")
stringa = "select * from utenti where attivo like ""SI"""
set RSz = DBCONN.execute (stringa)
if not rsz.eof then
do while not rsz.eof
' azzero la variabile così da ricominciare da zero il conteggio successivo
attivita_utente = 0
id_utente = rsz("id")
%>
<% ' conto quante ricette ha inserito
Set RSq=Server.CreateObject ("ADODB.Recordset")
stringa = "Select count(*) as quanti from ricetta where id_utente like '"&id_utente&"'"
set RSq = DBCONN.execute (stringa)
quanti_ricette = rsq("quanti")
RSq.close
set rsq = nothing
calcolo_valore = quanti_ricette * valore_ricette
attivita_utente = attivita_utente + calcolo_valore
calcolo_valore = 0
%>
<% ' conto quanti voti ha inserito
Set RSq=Server.CreateObject ("ADODB.Recordset")
stringa = "Select count(*) as quanti from commenti where id_utente like '"&id_utente&"'"
set RSq = DBCONN.execute (stringa)
quanti_commenti = rsq("quanti")
RSq.close
set rsq = nothing
calcolo_valore = quanti_commenti * valore_commenti
attivita_utente = attivita_utente + calcolo_valore
calcolo_valore = 0
%>
<% ' conto quanti voti ha inserito
Set RSq=Server.CreateObject ("ADODB.Recordset")
stringa = "Select count(*) as quanti from voti where id_utente like '"&id_utente&"'"
set RSq = DBCONN.execute (stringa)
quanti_voti = rsq("quanti")
RSq.close
set rsq = nothing
calcolo_valore = quanti_voti * valore_voti
attivita_utente = attivita_utente + calcolo_valore
calcolo_valore = 0
%>
<% ' conto quanti video ha inserito
' per prima cosa faccio una query per recuperare id della ricetta
Set RSg=Server.CreateObject ("ADODB.Recordset")
stringa = "select * from ricetta where id_utente like '"&id_utente&"'"
set RSg = DBCONN.execute (stringa)
if not rsg.eof then
do while not rsg.eof
id_ricetta_tmp = rsg("id")
' a questo punto poichè ho ID vado a contare le ricette che hanno un video
Set RSe=Server.CreateObject ("ADODB.Recordset")
stringa = "Select count(*) as quanti from video_pubblici where id_ricetta like '"&id_ricetta_tmp&"'"
set RSe = DBCONN.execute (stringa)
quanti_video_ricetta = quanti_video_ricetta + rse("quanti")
id_ricetta_tmp = ""
RSe.close
set rse = nothing
rsg.movenext
loop
end if
RSg.close
set rsg = nothing
calcolo_valore = quanti_video_ricetta * valore_video
attivita_utente = attivita_utente + calcolo_valore
calcolo_valore = 0
%>
<% ' conto quante foto ha inserito
' per prima cosa faccio una query per recuperare id della ricetta
Set RSf=Server.CreateObject ("ADODB.Recordset")
stringa = "select * from ricetta where id_utente like '"&id_utente&"'"
set RSf = DBCONN.execute (stringa)
if not rsf.eof then
do while not rsf.eof
id_ricetta_tmp = rsf("id")
' a questo punto poichè ho ID vado a contare le ricette che hanno una foto
Set RSe=Server.CreateObject ("ADODB.Recordset")
stringa = "Select count(*) as quanti from foto_ricette where id_ricetta like '"&id_ricetta_tmp&"'"
set RSe = DBCONN.execute (stringa)
quanti_foto_ricetta = quanti_foto_ricetta + rse("quanti")
id_ricetta_tmp = ""
RSe.close
set rse = nothing
rsf.movenext
loop
end if
RSf.close
set rsf = nothing
calcolo_valore = quanti_foto_ricetta * valore_foto
attivita_utente = attivita_utente + calcolo_valore
calcolo_valore = 0
%>
<% 'a questo punto memorizzo il nuovo valore dell'attività dell'utente
set RSy = Server.Createobject("ADODB.Recordset")
RSy.open "select * from utenti where id like '"&id_utente&"'" ,DBCONN,3,3
rsy("attivita_utente")=attivita_utente
rsy.update
rsy.close
set rsy = nothing %>
<%
' lo scrivo a video
response.Write(rsz("username"))%> : <%response.Write(rsz("attivita_utente"))%><br />
<%
' passo all'utente successivo
rsz.movenext %>
<%loop
end if
rsz.close
set rsz = nothing
%>
Rispondi
Quoting
info@stefano
il 30 agosto 2010 alle 20:50
11 messaggi
dal 17 gennaio 2006
Risolto
grazie a chi ha letto e comunicato
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Le novità di ASP.NET 4.5 (Community Days 2012)
Metro Style App per Windows 8 con HTML e Javascript
Introduzione ad Entity Framework
Web Camp - ASP.NET MVC 3 (Community Days 2012)
Introduzione a LINQ, LINQ to XML, Object e DataSet
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Windows Phone 7.5 Developer Day: costruire un'app in 60 minuti
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Windows 8: introduzione allo sviluppo
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Aprire una popup in Silverlight
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network