Page 162 - Corso di PHP - Livello base
P. 162

24. Operazioni sul database: funzioni aggregate e query

                                                      annidate


                Terminiamo il nostro panorama sulle operazioni che si possono

                fare  sul  database  parlando  di  funzioni aggregate  e  di  query
                annidate.  Iniziamo  dalle  prime,  dette  anche  “funzioni  di

                aggregazione”:  si  tratta  di  una  serie  di  funzioni  che  il
                linguaggio SQL ci mette a disposizione per estrarre diversi tipi

                di informazione dal nostro database, perlopiù di tipo statistico.

                Supponiamo, per esempio, di voler creare una pagina all'interno

                della  quale  inserire  una  serie  di  statistiche  relative  al  nostro
                blog.  Potremmo  iniziare  dal  numero  complessivo  dei  post

                presenti nel blog (e quindi nel database). Come fare per sapere
                quanti  sono?  Utilizziamo  la  funzione  aggregata  COUNT,  che
                invocheremo sulla tabella dando un nome al risultato che verrà

                estratto tramite la clausola AS. Vediamo la sintassi:


                 $query = "SELECT COUNT(*) AS TotalePost FROM Post";
                 $risultato = mysql_query($query);


                Tutte  le  funzioni  devono  essere  invocate  dopo  il  comando

                SELECT. Nel nostro caso, invochiamo la funzione COUNT su
                tutti  i  campi  (*)  e  quindi  chiamiamo  il  risultato  TotalePost.
                Possiamo poi stampare il tutto come abbiamo visto finora:



                 while ($record = mysql_fetch_array($risultato, MYSQL_ASSOC))
                 {
                    echo "Totale post presenti nel blog: "; echo $record['TotalePost'];

                 }


                Supponiamo  invece  di  voler  conoscere  il  numero  totale  dei
                commenti ma senza operare sulla tabella Commenti: vogliamo
                utilizzare  un  campo  NumCommenti  della  tabella  Post  in  cui




                                                          162
   157   158   159   160   161   162   163   164   165   166   167