Editor  »  Guide  »  Guida Coldfusion Mx 

Interroghiamo il database



In CFML non si interrogano direttamente i database, ma i Data Source Name che abbiamo impostato in ColdFusion Administrator. Il tag che svolge questo compito è <cfquery>.

<cfquery> richiede due attributi, "datasource" e "name". Con il primo indichiamo quale Data Source Name deve essere interrogato, con il secondo il nome che deve avere il recordset restituito dalla query.

1. Ad esempio, apri index.cfm e modificalo in questo modo:

<!--- Esegue una query al datasource "discoteca" chiamata "getAlbum" --->
<cfquery datasource="discoteca" name="getAlbum">
     SELECT ALBUM_TITOLO, ALBUM_AUTORE, ALBUM_GENERE
     FROM ALBUM
</cfquery>

<!--- Include l'intestazione del sito --->
<cfinclude template="header.cfm">

<!--- Include il piede delle pagine --->
<cfinclude template="footer.cfm">

Con il tag <cfquery> abbiamo passato a ColdFusion la stringa SQL per eseguire un "SELECT" dalla tabella "ALBUM" del datasource "discoteca".

Così facendo, ancora non abbiamo visualizzato nulla del contenuto del recordset. Il tag <cfoutput>, che abbiamo visto prima per visualizzare il contenuto di una variabile, si utilizza anche per visualizzare il risultato di una query.

2. Inserisci, dopo il primo <cfinclude>, questo codice:

......
<p><cfoutput query="getAlbum">
     #ALBUM_GENERE#: <b>#ALBUM_TITOLO#</b> (#ALBUM_AUTORE#)<br>
</cfoutput></p>
......

e, dopo aver salvato, apriamo "http://localhost:8500/discoteca/index.cfm" (se viene mostrato un errore, assicurati di aver scritto correttamente il codice e di aver chiuso il database di Access, o di averlo aperto con accesso condiviso).

Con <cfoutput> e l'attributo "query" abbiamo detto a ColdFusion di mostrare il risultato della query "getAlbum". Con la solita notazione, inserendo tra cancelletti il nome dei campi del database, abbiamo "stampato" ogni record restituito dal SELECT contenuto in <cfquery>. Possiamo considerare <cfoutput> come un ciclo eseguito sul recordset.

3. Modifica il <cfoutput> giocando un po' con l'HTML per creare una tabella, inserendo in ciascuna riga il valore del record:

......
<p>
<table>
<!--- L'intestazione della tabella --->
     <tr>
          <td><p><b>Genere</b></p></td>
          <td><p><b>Titolo</b></p></td>
          <td><p><b>Autore</b></p></td>
     </tr>

<cfoutput query="getAlbum">
<!--- Una riga della tabella per ogni record della query GetAlbum --->
     <tr>
          <td><p>#ALBUM_GENERE#</p></td>
          <td><p>#ALBUM_TITOLO#</p></td>
          <td><p>#ALBUM_AUTORE#</p></td>
     </tr>
</cfoutput>

</table>
</p>
......

4. Aggiungi una descrizione prima della tabella:

......
<p>
     Ad oggi ci sono <cfoutput>#getAlbum.RecordCount#</cfoutput> CD nel mio database.
</p>

<p>
<table>
<!--- L'intestazione della tabella --->
     <tr>
          <td><p><b>Genere</b></p></td>
          <td><p><b>Titolo</b></p></td>
          <td><p><b>Autore</b></p></td>
     </tr>

<cfoutput query="getAlbum">
<!--- Una riga della tabella per ogni record della query GetAlbum --->
     <tr>
          <td><p>#ALBUM_GENERE#</p></td>
          <td><p>#ALBUM_TITOLO#</p></td>
          <td><p>#ALBUM_AUTORE#</p></td>
     </tr>
</cfoutput>

</table>
</p>
......

Con la variabile "getAlbum.RecordCount" possiamo risalire al numero dei record che sono stati estratti dalla query getAlbum. Essendo una variabile CFML, abbiamo bisogno di <cfoutput> e dei cancelletti # per mostrarne il contenuto. "RecordCount" è una variabile riservata e come scope ha sempre quello della query di cui vogliamo conoscere il numero di record.

Prova a navigare nella home page ("http://localhost:8500/discoteca/index.cfm") per fare un test.

Ultimi articoli Editor

Adobe Edge, la prima animazione HTML5

Come creare una animazione HTML5 con Adobe Edge, esempio completo

Adobe Edge, l'interfaccia

Esaminiamo pannelli e menu del tool gratuito di Adobe per la...

Trasformazioni XSLT in Dreamweaver 8

Primo sguardo agli strumenti XML: trasformare un feed RSS

Layout senza tabelle con Dreamweaver 8

Esaminiamo gli strumenti CSS avanzati del software di Adobe/Macromedia

Il nuovo Dreamweaver 8

Panoramica delle principali novità dell'ultima release del popolare...

Altri articoli

Guide Editor

Guida WebMatrix

Entrare nel mondo dello sviluppo di applicazioni Web con Webmatrix,...

Guida Notepad++

Un editor testuale che funziona perfettamente anche come editor HTML...

Guida Aptana

Creare siti Web o applicazioni con Aptana, l'editor open source,...

Altre guide

Newsletter @Daily HTML.it

Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti