Realizzare un contaclick con Dreamweaver ed ASP
Partiamo dal presupposto che non si può, con un solo articolo, coprire tutte le aspettative di un utente ma almeno fornire le basi per poi adattarlo e modificarlo nelle nostre pagine web.
Immaginiamo di avere un sito di news riguardante diversi articoli. Come possiamo fare per capire quale categoria di news un utente preferisce rispetto ad un´altra? Con un semplicissimo contatore, posto accanto al titolo o all´interno della pagina dell´articolo completo, possiamo capire quante volte è stato letto e, soprattutto, quale è il preferito in base al numero di visite.
Cosa ci serve
Tutto il nostro occorrente sono due pagine asp [una per raccogliere i titoli delle news e l´altra che contiene l´articolo completo.] oltre ad un DataBase, Access va più che bene nel nostro caso. Ce ne sarebbe un´altra di pagina da creare: il pannello di amministrazione attraverso il quale inserire i testi; ma esula dal tutorial odierno. L´argomento è stato trattato in un articolo specifico tempo fa.
Prepariamo il DataBase
Per prima cosa dobbiamo creare il Database. Apriamo l´applicazione e creiamo una base di dati con il nome contaclick.mdb. Secondo passaggio: creazione della tabella, che noi potremmo chiamare: conteggi. La suddetta tabella sarà composta da 4 campi:
- ID >> di tipo Contatore
- Titolo >> di tipo Testo
- Articolo >> di tipo Memo
- Hit >> di tipo Numerico
Fatto questo passaggio, dovremmo avere una tabella come quella di seguito riportata:

Per vedere in funzione l´applicazione, potremmo anche fare a meno, momentaneamente, del pannello di inserimento; i record del DataBase possiamo popolarli inserendo del testo generico. Attenzione: noi possiamo popolare solo 2 campi, in questo caso: Titolo ed Articolo. Il campo ID è un contatore che si autoincrementa da solo. Il campo Hit si aggiornerà automaticamente ogni volta che verrà consultato un articolo.
La pagina sommario.asp
L´elenco di tutte le news lo posizioniamo in una pagina che noi chiameremo: "sommario.asp". Affinchè tutte le notizie siano reperibili in tale pagina, dobbiamo procedere a realizzare un RecordSet; conoscerete tutti tale termine. Si tratta di una interrogazione al DataBase affinchè mostri a video tutti i record, appunto, presenti nella tabella conteggi.
Piccola parentesi: dopo aver realizzato il RecordSet, avremo bisogno di un "ciclo" che ci vada a leggere tutti i record presenti nel DataBase. A tal proposito ci avvarremo di un´altra applicazione dinamica di Dreamweaver: un´area ripetuta. Anche di questa applicazione ho trattato approfonditamente in un articolo precedente.
Fatto anche questo passaggio, non ci resta che posizionare nella pagina html il testo dinamico contraddistinto, in Dreeamweaver, da uno sfondo celeste e da parentesi graffe.
La pagina leggi.asp
Siamo giunti, finalmente, alla realizzazione della pagina in cui leggeremo sia l´articolo, sia il numero di volte che è stato consultato.
La prima cosa da fare è quella di importare il RecordSet dalla pagina sommario.asp. Dreamweaver mette a disposizione anche questa possibilità. Vediamo come fare. Con la pagina sommario.asp aperta, aprire il pannello Applicazioni Server; fare clic sul tab Associazioni in modo tale da vedere il nome del RecordSet; nel nostro caso sarà scritto RecordSet(rsNews). Con il tasto destro del mouse fare clic e dal menu contestuale che appare scegliere Copia. Chiudere la pagina sommario.asp ed aprire la pagina leggi.asp. Sempre nel pannello Applicazioni Server, sul lato destro, premere sulla piccola freccetta bianca rivolta verso il basso. Appararià anche qui un menu contestuale. Scegliere Incolla.
Se tutti questi passaggi sono stati eseguiti correttamente dovremo leggere, anche nella pagina leggi.asp, aprendo il tab Associazioni, RecordSet(rsNews). Un altro metodo per verificare ciò è aprire in vista codice la pagina e notare se Dreamweaver ha aggiunto del codice ASP. Se siete stanchi, prendetevi una pausa. Se siete annoiati... mi spiace per voi; spero di no! :)))
Adesso non rimane che realizzare un Comando che Dreamweaver chiama, appunto, Command. Cosa vogliamo ottenere con tale operazione? L´aggiornamento, o incremento, del campo Hit del DataBase, quando scegliamo un determinato titolo nella pagina sommario.asp. Siamo sempre nella pagina leggi.asp; spostiamoci nel pannello applicazione e premiamo il tab Comportamenti Server. Facciamo click sul segno + e scegliamo Comando. Apparirà una wizard come quella della figura di seguito:

Ho preso una parte della wizard per motivi di spazio ma è tutta qui la parte importante. Come nome da dar al comando possiamo accettare "Command1", come ci viene proposto dal programma. Assicuriamoci di avere la giusta connessione con il DataBase. immediatamente sotto dobbiamo scegliere il tipo di comando da assegnare e dal menu a discesa sceglieremo Aggiorna. Nella textarea grande dovremo scrivere pochissimo codice SQL e precisamente:
UPDATE conteggi
SET Hit = Hit +1
WHERE ID = Var
Non credo serva la traduzione di quanto appena scritto. È facilmente intuibile.
Ancora un ultimo passaggio, il più importante. Nel campo Variabili fare clic sul segno + e scegliere un nome per la variabile. Scriviamo Var. Il suo valore deve essere il seguente: Request.QueryString("ID"). Vale a dire che il campo Hit sarà aggiornato in base all´ID unico che gli è proprio.
Conclusioni
Finiti questi passaggi, abbiamo terminato questa applicazione. Non ci resta che salvare tutto e richiamare la pagina sommario.asp nel browser. In base al titolo selezionato, leggeremo l´articolo corrispondente ed il campo Hit si incrementerà automaticamente. Per quanto riguarda la prova che ho effettuato, ho posizionato il testo dinamico <%=(rsNews.Fields.Item("Hit").Value)%> accanto al titolo.
| < Prec. | Succ. > |
|---|

