Per eseguire la query in PHP, è necessario eseguire prima la connessione e la selezione del database.
Dopo aver recuperato i dati dal precedente FORM, va preparata la query da eseguire e assegnata ad una variabile.
Supponiamo di voler eseguire una ricerca di un cognome su una tabella chiamata autori, e che il titolo sia stato inserito dall’utente nel form. Sceglieremo poi quali sono i libri da eliminare. Le pagine da realizzare sono 3:
la pagina HTML per la ricerca, la pagina PHP che stampa i risultati, la pagina PHP che elimina la riga selezionata.
La pagina ricercaAutore.html,che permette all’utente di inserire il cognome da ricercare, sarà:
<HTML>
<HEAD><TITLE>RICERCA PER AUTORE</TITLE></HEAD>
<BODY>
<FORM NAME=”FORM1″ ACTION=”ricercaAutore.php” method=”post”>
<h3>RICERCA PER AUTORE</h3>
<br>
<br>
Inserisci il cognome:
<input type=”text” name=”cognome” value=””>
<br>
<input type=”submit” value=”invia”>
<input type=”reset” value=”annulla”>
</FORM>
</BODY>
</HTML>
La pagina PHP che esegue la ricerca e fa la lista dei contenuti si chiamerà ricercaAutore.php (come inserito nella action della form)
<?php
/*includo il file di configurazione dove avrò memorizzato username e password per accedere al database*/
include (configurazione.php);
//recupero il campo
$cognome=$_POST[‘cognome’]; //se il campo della form aveva il name=”titolo”
//preparo la query
$query=”Select * from autori where cognome=$cognome”;
//esegui la connessione
$conn=mysql_connect ($dbhostname,$dbuser,$dbpassword) or die (“errore nella connessione al Database”);
//seleziono il database
mysql_select_db(“LIBRERIA”,$conn) or die(“errore nella selezione del Database”);
//eseguo la query
$risultato=mysql_query($query);
while($row=mysql_fetch_array($risultato))
{?>
//stampo i risultati
<h3><?php echo $row[‘cognome’].” “.$row[‘nome’];?> <a href=”elimina.php?autore=<?php echo $row[‘cognome’]?>”>X</a></H3>
<?php
}
//chiudo la connessione al database
$mysql_close($conn);
?>
Come si può notare cliccando sulla X che compare su ogni riga, viene richiamata una pagina elimina.php a cui viene passato un parametro: <a href=”elimina.php?autore=<?php echo $row[‘cognome’]?>”>X</a>
Passare i parametri tramite la URL significa che sto utilizzando il metodo GET dell’HTML
<?php
/*includo il file di configurazione dove avrò memorizzato username e password per accedere al database*/
include (configurazione.php);
//recupero il campo
$cognome=$_GET[‘autore’];
//preparo la query
$query=”delete from autori where cognome=’$cognome‘”;
//esegui la connessione
$conn=mysql_connect ($dbhostname,$dbuser,$dbpassword) or die (“errore nella connessione al Database”);
//seleziono il database
mysql_select_db(“LIBRERIA”,$conn) or die(“errore nella selezione del Database”);
//eseguo la query
$risultato=mysql_query($query) or die(“impossibile eliminare”);
//l’ok viene stampato solo se non ci sono stati errori nell’esecuzione della query
echo “ok”;
//chiudo la connessione al database
$mysql_close($conn);
?>