Modificare dati Mysql con Script PHP

Scrivendo uno script PHP è possibile modificare i dati Mysql senza dover accedere al database ma utilizzando una semplice piattaforma web.

Fonti: esperienza personale e W3CSchool.

Dalla Visualizzazione alla Modifica

Come per la rimozione dei record prima di agire è necessario conoscere quali sono i record da eliminare. Ciò si può fare attraverso una pagina creata ad hoc di visualizzazione, un tipico indice oppure facendo effettuare una ricerca semplice all’utente.

In ogni caso ci troveremo con una serie di record affiancati da due pulsanti: uno per l’eliminazione definitiva (tramite banale conferma javascript) e l’altro per la modifica dei dati mostrati a schermo.

Per la rimozione dei record si rimanda ad opportuna guida mentre per la variazione dei dati vedremo step by step tutti i passaggi da effettuare.

Aggiungere il pulsante modifica

Analogamente a quanto già realizzato per l’eliminazione a ogni record affianchiamo un pulsante che consente di accedere alla pagina di modifica. In realtà si tratta di un modulo con un campo nascosto, il quale contiene come valore l’id.

<html>
<head>
<title>Mostra Attrici</title>
<link href="stile.css" rel="stylesheet">
</head>
<body>
<?php include("header.php");?>
<main>
<?php
require("config.php");
$sql="Select id_attrice, nome, cognome, date_format(data_nascita, '%d-%m-%Y'), citta from attrici order by cognome";
$result=$conn->query($sql);
if
($result->num_rows>0)
{
echo"<table border=\"1\"><th>Nome e Cognome</th><th>Data di Nascita</th><th>Città di Nascita</th><th>Cancella</th><th>Cambia</th>";
while ($row=$result->fetch_assoc())
{
echo"<tr><td>".$row["nome"]." ".$row["nome"]."</td><td>".$row["date_format(data_nascita, '%d-%m-%Y')"]."</td><td>".$row["citta"]."</td>
<td><form action='elimina.php' method='POST'><input type='hidden' name='el' value=".$row["id_attrice"].">
<input type='submit' value='ELIMINA' onclick=\"return confirm('Sei sicuro di volere eliminare?');\"></form></td>
<td><form action='modifica.php' method='POST'><input type='hidden' name='mo' value=".$row["id_attrice"]."><input type='submit' value='MODIFICA'></form></td>

</tr>";
}
echo"</table><button><a href=\"eliminatutto.php\" onClick=\"return confirm('Sei sicuro di volere eliminare?');\">Elimina Tutto</a></button>";
}
else
{
echo"Nessun risultato";
}
$conn->close();
?>
</main>
<?php include("siderbar.php")?>
<?php include("footer.php");?>
</body>
</html>

Il Modulo di Modifica

Questa pagina include la visualizzazione dei dati da modificare all’interno di un modulo.

<html>
<head>
<title>Mostra Risulati</title>
<link href="stile.css" rel="stylesheet">
</head>
<body>
<?php include("header.php");?>
<main>
<?php
require("config.php");
$m=$_POST["mo"];

$sql="Select * from attrici where id_attrice='$m'";
$result=$conn->query($sql);
if ($result->num_rows>0)
{
echo"<table border=\"1\"><th>Nome e Cognome</th><th>Data di Nascita</th><form action=\"m.php\" method=\"POST\">";

while ($row=$result->fetch_assoc())
{
echo"<tr><td><input type=\"text\" name=\"nome\" value=".$row["nome"]."> <input type=\"text\" name=\"cognome\" value=".$row["cognome"]."></td><td><input type=\"date\" name=\"data_nascita\" value=".$row["data_nascita"]."><input type=\"text\" name=\"citta\" value=".$row["citta"]."><input type=\"hidden\" name=\"id\" value=".$row["id_attrice"]."></td></tr>";
}
echo"</table><input type=\"submit\" value=\"MODIFICA\"></form>";
}
else
{
echo"Nessun risultato";
}
$conn->close();
?>
</main>
<?php include("siderbar.php");?>
<?php include("footer.php");?>
</body>
</html>

Esecuzione Script

Non rimane altro che scrivere il codice di esecuzione.

<?php
require("config.php");
$change=$_POST["nome"];
$change2=$_POST["cognome"];
$change3=$_POST["data_nascita"];
$change4=$_POST["id"];
$change5=$_POST["citta"];

$sql="Update attrici set nome='$change', cognome='$change2', data_nascita='$change3', citta='$change5' where id_attrice=$change4";
$result=$conn->query($sql);

if
($result==TRUE)
{

echo"Modifiche eseguite";
}
else
{
echo"errore";
}
$conn->close();

?>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *