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

echo "{$record['Titolo']}, scritto da {$record['Nickname']}<br />";
                 }


                Nel ciclo corrispondente all'autore numero 3 verrebbe stampato
                uno  spazio  bianco,  perché  non  esisterebbe  un  elemento

                dell'array  con  indice  Titolo  abbinato  all'elemento  “Nickname”
                relativo all'autore 3.


                Il RIGHT JOIN funziona allo stesso modo del LEFT JOIN ma
                in maniera inversa:


                 $query = "SELECT * FROM Post RIGHT JOIN Autori ON Autori.Id = Post.IdAutore";

                 $risultato = mysql_query($query);


                In  questo  caso  vengono  estratti  tutti  i  record  della  tabella  di
                destra (Autori) mentre per quanto riguarda la tabella di sinistra
                (Post)  vengono  estratti  solo  i  record  che  hanno  una

                corrispondenza con Autori.


                Vediamo  un'altra  informazione  importante.  Specifichiamo
                sempre la clausola ON altrimenti, se scrivessimo una cosa del

                genere:


                 $query = "SELECT * FROM Post JOIN Autori";
                 $risultato = mysql_query($query);


                Otterremmo un CROSS JOIN, ovvero il prodotto cartesiano
                delle  due  tabelle,  cosa  che  sicuramente,  almeno  ai  fini  del

                nostro blog, non ci interessa.


                Possiamo  poi  unire  anche  tre  o  più  tabelle  tra  loro.  Per
                esempio,  se  avessimo  un'ipotetica  tabella  DatiAutori  in  cui
                inserire  indirizzi,  numeri  di  telefono,  immagini  e  quant'altro,

                potremmo scrivere una cosa del genere:





                                                          160
   155   156   157   158   159   160   161   162   163   164   165