Contact me at arianna.mariani@gmail.com

Eseguire una query di cancellazione con PHP: delete

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);

 ?>

 

StampaEmail