Page 151 - Corso di PHP - Livello base
P. 151
tutti!”? Introduciamo un'altra clausola, OR:
$query = "UPDATE Post SET Titolo = 'Ciao a tutti quanti!!!' WHERE Titolo = 'Ciao' OR
Titolo = 'Ciao a tutti!'";
mysql_query($query);
La clausola OR serve per “legare” tra di loro due espressioni
introdotte dalla clausola WHERE, e possiamo usarla, all'interno
della stessa query, tutte le volte che vogliamo (anche tre o
quattro o più volte:
$query = "UPDATE Post SET Titolo = 'Ciao a tutti quanti!!!' WHERE Titolo = 'Ciao' OR
Titolo = 'Ciao a tutti!' OR Titolo = 'Altro post' ";
mysql_query($query);
Cosa fare invece quando abbiamo tre post con titolo “Ciao a
tutti!”, scritti da due autori diversi, e noi vogliamo cambiare il
titolo solo a quelli scritti da un certo autore? Dobbiamo
utilizzare la clausola AND:
$query = "UPDATE Post SET Titolo = 'Ciao a tutti quanti!!!' WHERE Titolo = 'Ciao a tutti!'
AND IdAutore = 1";
mysql_query($query);
In questo modo abbiamo impostato il titolo a tutti quei post che
hanno come titolo “Ciao a tutti!” e che sono stati scritti
dall'autore contrassegnato dall'id 1. Quindi se ci sono altri post
che hanno per titolo “Ciao a tutti!” (scritti ovviamente da autori
diversi) o se ci sono altri post scritti dallo stesso autore (con
titolo diverso), bene, tutti questi post non saranno aggiornati:
l'operazione sarà valida solo per i post che soddisfano le
clausole WHERE e AND.
Ovviamente poi, nelle espressioni delle clausole, è possibile
usare, oltre all'uguale, anche altri operatori (maggiore, minore,
maggiore-uguale, minore-uguale). Per esempio, volendo
151