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

numero  dei  commenti  del  post  con  il  maggior  numero  di
                commenti e al contrario qual è il numero di commenti del post

                con il minor numero di commenti. Per compiere queste due
                operazioni abbiamo le funzioni MAX e MIN, e anche in questi

                due  casi  il  meccanismo  è  simile  a  quello  delle  funzioni  che
                abbiamo appena visto. Diamo un'occhiata a MAX:


                 $query4 = "SELECT MAX(NumCommenti) AS Massimo FROM Post";

                 $risultato4 = mysql_query($query4);
                 while ($record4 = mysql_fetch_array($risultato4, MYSQL_ASSOC))
                 {

                    echo "Numero commenti massimo: "; echo $record4['Massimo'];
                 }


                E adesso MIN:


                 $query5 = "SELECT MIN(NumCommenti) AS Minimo FROM Post";
                 $risultato5 = mysql_query($query5);

                 while ($record5 = mysql_fetch_array($risultato5, MYSQL_ASSOC))
                 {

                    echo "Numero commenti minimo: "; echo $record5['Minimo'];
                 }


                Ma cosa dovremmo fare se volessimo sapere qual è il post con
                il maggior numero di commenti (e quindi non solo qual è il

                numero  di  commenti  del  post  con  il  maggior  numero  di
                commenti)?  Dobbiamo  ricorrere  a  una  query  annidata,  detta

                anche “subquery”: le query annidate sono interrogazioni che
                si  trovano  all'interno  di  altre  interrogazioni.  Il  caso  che
                prendiamo in esame noi è il più semplice: una interrogazione

                viene  posta  come  condizione  della  clausola  WHERE.
                Vediamo come funziona:


                 $query6 = "SELECT Titolo FROM Post WHERE NumCommenti = (SELECT
                 MAX(NumCommenti) FROM Post)";




                                                          164
   159   160   161   162   163   164   165   166   167   168   169