Ora che sappiamo come ricevere dati da pagine ASP, creiamo la prima nostra piccola interazione tra Flash ed un database.
Poniamo il caso di avere sul nostro sito, nella homepage, un'area "news" dove vengono visualizzate le ultime 5 (per es.) news più recenti. Le news sono gestite tramite un database, in questo modo sarà possibile avere un archivio di esse e permette al cliente proprietario del sito (se esiste) di gestirle autonomamente (meno lavoro per noi).
Creazione della pagina ASP
Poniamo di avere un database formato Access, strutturato in questo modo:
Database formato Access
- IDNews è il contatore ID per la tabella
tbNews
- Titolo gestisce il titolo principale della news,
- Link il percorso a cui è collegata la news.
Anche in questa lezione, vi sarà esclusivamente una ricezione di dati ma non un invio (visto che basta ricevere titolo e link della news). Per prima cosa, creiamo la pagina ASP che restituisce le ultime 5 news più recenti. Ecco il mio codice:
<!-- #include file="adovbs.inc" -->
<%
Response.Expires = 0
Dim rs, cn, sql
Set rs = Server.CreateObject("ADODB.Recordset")
Set cn = Server.CreateObject("ADODB.Connection")
sql = "SELECT * FROM tbNews ORDER BY tbNews.IDNews DESC"
cn.Open "DSN=news;"
Set rs.ActiveConnection = cn
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
rs.Source = "tbNews"
rs.Open sql, cn
x = 0
Do until(x=5)
x = x + 1
Response.Write("titolo"&x&"="&rs("Titolo")&"&link"&x&"="&rs("Link"))
rs.MoveNext
If x<5 then Response.Write("&")
Loop
rs.Close
Set rs=Nothing
%>
Innanzitutto la stringa SQL che interroga il db. In questo caso, vengono selezionati tutti i campi della tabella tbNews e ordinati per numero ID in modo decrescente (DESC) (avremo così l'ultimo inserimento fatto in prima posizione). Poi, il loop che restituisce a Flash le informazioni sulle news, viene eseguito
per 5 volte, in modo da poter visualizzare 5 news (è possibile inserire un altro valore, per esempio 7, ed avremo la visualizzazione di 7 news).
Analizziamo ora la stringa inviata al browser tramite Response.Write
. Questa stringa dinamica, fa in modo che vengano restituiti a Flash i valori di queste variabili: titolo1
, titolo2
, titolo3
,titolo4
,titolo5
,link1
, link2
, link3
, link4
e link5
. Ecco come...
Al primo incontro con Response.Write
viene generata questa stringa:
"titolo"& 1 & "=" & titolo & "&link" & 1 & "=" & link
Concatenando il tutto:
"titolo1=titolo&link1=link"
Ecco quindi che la prima news è stata inviata al browser. Dalla seconda in poi, è necessario inserire una & per separare il valore di link1 da quello di link2. Ecco il perché della stringa If x<5 then Response.Write("&")
. Questa stringa fa in modo che, finché si è alle prime 4 news, inserisci la & per separare le variabili, altrimenti non inserire niente (infatti, con la 5a news finisce l'invio di variabili). Se non avessimo inserito questa stringa, il risultato, alla seconda news, sarebbe stato:
"titolo1=titolo&link1=linktitolo2==titolo&link2=link"
invece ecco come appare:
"titolo1=titolo&link1=link&titolo2==titolo&link2=link"
E così è corretto.
Al termine del loop, avremo una stringa in cui saranno indicate tutte e 5 le variabili titolon e linkn. Per sicurezza, proviamo la nostra pagina aprendola dal browser (ricordiamoci di
attivare l'IIS server o il personal Web server). Il risultato a video dovrebbe essere all'incirca così.
A questo punto, non ci resta che creare il filmato Flash che intercetta queste informazioni.