Perchè il contatore aumenta di 2 quando dovrebbe farlo di 1?

cosov

Nuovo Utente
5 Feb 2007
17
0
0
Provincia di Milano
www.cosov.it
Salve, ho creato questa istruzione all'interno di una pagina asp:

ConnDBIMG2.Execute "UPDATE Immagini set Vista_Foto = Vista_Foto + 1 where ID_FOTO = "&request.querystring("ORIG_PATH")&";"

Praticamente dovrebbe aumentare di una unità nella tabella del database "Immagini" la colonna "Vista_Foto", cioè aumenta di una volta il contatore dell'immagine aperta. Fin qui la cosa funziona, solo che la prima volta che faccio clic su un'immagine al posto di aumentare di 1, aumenta di 2, poi se riclicco sulla stessa lo fa di 1. (Questo per tutte le immagini)

Qualcuno sa spiegarmi come mai.
Grazie della cortesia.
 

PoLe

MRW Moderator
6 Giu 2005
2.210
3
0
38
.: Venezia :.
www.bzconsulting.it
Capitava anche a me, per questo motivo per esempio le visite al sito e le pagine visitate non le salvo più in un DB ma direttamente in un file TXT. :)

In questo caso però non puoi certo fare un file txt per ogni foto, quindi l'unica cosa che posso provare a consigliarti di fare è lanciare 2 query.
la prima query sarà un:
Codice:
ConnDBIMG2.Execute "SELECT Vista_Foto FROM Immagini WHERE ID_FOTO = "&request.querystring("ORIG_PATH")&";"
poi associ il valore ad una variabile e lo sommi di uno da script:
Codice:
Dim numvisite = rs("Vista_Foto")
numvisite = numvisite + 1
e infine aggiorni il DB:
Codice:
ConnDBIMG2.Execute "UPDATE Immagini set Vista_Foto = " & [B]numvisite[/B] & " where ID_FOTO = "&request.querystring("ORIG_PATH")&";"

Altro non saprei che dirti ;)
 

lukeonweb

Utente Attivo
5 Mar 2003
5.177
10
38
43
Napoli
www.lucaruggiero.it
Buona soluzione ma me n'è venuta in mente una che proverò ad usare:

Dim id
id = Request.QueryString("id")
Function ContaClick()
rs.Open "SELECT click FROM tabella WHERE id = " & CInt(id), cn, 1
If CInt(rs("click")) = 0 Then
cn.Execute("UPDATE tabella SET click = 1 WHERE id = " & CInt(id))
Else
cn.Execute("UPDATE tabella SET click = click + 1 WHERE id = " & CInt(id))
End If
rs.Close
End Function
Call ContaClick()

Nella speranza che al secondo accesso non riporti il valore 3 sennò sentite le mie urla da Napoli :D

PS. l'ho scritto al volo, non l'ho ancora testato!
 

cosov

Nuovo Utente
5 Feb 2007
17
0
0
Provincia di Milano
www.cosov.it
Ho provato la prima soluzione e sembrava funzionare solo dopo mi sono accorto che cliccando la stessa immagine ogni tanto mi dava il valore +1 e altre volte il valore +2.
Per quanto riguarda la soluzione di "lukeonweb" potrei anche provarla, ma no ho capito se la function devo metterla nell' <head> e poi richiamarla col call nel <body> oppure va bene tutto nel body? Poi volevo sapere (visto che non sono tanto pratico di sobrutine) nell'istruzione rs.Open "SELECT click FROM tabella WHERE id = " & CInt(id), cn, 1 il valore cn cos'è?
Grazie.
 

daviduccio

Moderatore
5 Ago 2004
1.114
0
0
36
Sicilia
www.daviduccio.it
Ciao ragazzi, sono 2 vite che non scrivo qui!!! :hammer:

Se nn ricordo male ebbi questo problema, e sempre se non ricordo male dovrebbe essere associato al campo database NULL.
Se il campo del database veniva inizializzato con il valore predefinito 0, funzionava, ovvero partiva da 1 anziché da 2.

Fatemi sapere!

Ciao.
 

cosov

Nuovo Utente
5 Feb 2007
17
0
0
Provincia di Milano
www.cosov.it
Allora, ho provato la soluzione di "LukeonWeb" e devo dire che va meglio, ma ogni tanto mi conta ancora 2 volte, mentre per rispondere a "Daviduccio" avevo già impostato come valore predefinito lo 0 nella tabella, ma il problema non è se è 0 allora conta 2, perchè anche se la foto fosse stata vista 7 volte potrebbe aumentare di 1 o di 2...
A sto punto mi viene da pensare: può essere un errore di windows?

Se invece volessi creare un file di testo che conta si potrebbe farne 1 solo per tutte le foto (o almeno per categoria di foto) o va necessariamente creato un file per ogni foto? Se così fosse dove posso prelevare il codice?

Grazie ancora della pazienza e per le risposte.
 
Discussioni simili
Autore Titolo Forum Risposte Data
otto9due SQLSTATE[HY093]: Invalid parameter number: parameter was not defined ? Perchè secondo voi? PHP 0
Tommy03 Perchè non si apre una pagina PHP PHP 4
otto9due .detach().appendTo(..) Perchè non funziona? jQuery 1
S [PHP] Perchè con require(tcpdf...) restituisce ora errata? PHP 0
ragazzesexy perchè google non elimina i siti inesistenti? SEO e Posizionamento 2
otto9due .hover() perchè non va in questo caso? jQuery 2
S [PHP] Perchè non mi esegue la query? PHP 11
D Perchè la function non funziona? Javascript 0
G Perchè il livello originale non rimane integro rispetto alle modifiche apportate? Photoshop 9
P Non riesco a capire dove sta l'errore e perchè non mi memorizza il contenuto PHP 14
A Perchè su chrome e safari funziona tutto e su firefox e ie no?!!!? Presentati al Forum 0
felino Sondaggio: quale framework utilizzate e perchè? PHP 0
Devil-94 .replace perchè non funziona ? Javascript 1
R Perchè non si riescono a settare dinamicamente i parametri di una pagina HTML? Javascript 1
D perchè non aggiorna il totale? Javascript 5
G Perchè nel mio photoshop non trovo sfocatura gaussiana Photoshop 1
A Non riesco a fare backup sito perchè Filezilla non scarica tutti i file! Web Server 4
L Funzione per verificare distanza di tempo non funziona: perchè? PHP 4
B Perchè non va? PHP 4
A Perchè non mi fa l'edit delle informazioni dell'account Magento 0
M Fatture senza marca da bollo perchè inferiori a 77,47 euro Leggi, Normative e Fisco 5
M Perchè non invia la mail in formato html? PHP 5
V perchè una somma può non funzionare? PHP 4
C Ma perchè!!!! Differenza visualizzazione con iOS Safari HTML e CSS 2
I Perchè devo cliccare 2 volte su un link per caricare correttamente il css di una galleria? WordPress 1
M Perchè alla fine di un ciclo while si interrompe l'esecuzione? PHP 1
P Perchè il framework di zurb deforma le foto? HTML e CSS 2
F Perchè non vedo il TITOLO nel browser? help! HTML e CSS 2
S un IF dentro l'altro... Perchè no?!?!? Javascript 15
D Animazioni - perchè torna nel suo stato iniziale??? HTML e CSS 2
C Perchè non funziona la funzione if con la variabile getdate... ? Javascript 4
G Perchè non funziona $_SERVER['HTTP_REFERER'][risolto] PHP 7
L Penalizzata... ma non capisco perchè! SEO e Posizionamento 4
maxbossi [LEGGERE] Perchè NON ho il permesso di scrivere in questa sezione? Presenta il tuo Sito 0
S Perchè i sottomenu non si vedono? HTML e CSS 3
YellowMan HTML5: quali vantaggio offre? perchè si parla di rivoluzione? HTML e CSS 15
E perchè la ricevo 5 volte?????? PHP 31
IerardiMario Variabile $_POST risulta indefinita. Perchè? PHP 5
A Favicon funziona solo su Firefox e non su Explorer - Perchè ? - HTML e CSS 6
B Perchè il mio sito non decolla? SEO e Posizionamento 5
D mi ridimensiona una sola immagine :crying: perchè? Javascript 1
A Perchè non entro nei motori di ricerca SEO e Posizionamento 3
U perchè la funzione move_uploaded_file non funziona se i permessi sono 777? PHP 11
max_400 fopen - l'attributo 'r+' si comporta uguale a 'w+' perchè? PHP 4
N perchè si "autoscrolla" la pagina? Javascript 0
O Easy Php non funziona, perchè? PHP 5
R link exchange??!? perchè non risulto ancora abilitato? Supporto Mr.Webmaster 4
borgo italia perchè non funzia? Discussioni Varie 2
R Perchè le immagini riesco a spostarle e i video no? PHP 2
W perchè il mio sito cambia aspetto? [css] HTML e CSS 15

Discussioni simili