Salve non riesco ad implementare una checkbox che elimini record.Non ho particolari esigenze, quindi accetto proposte.
Quella che ho non la riesco a far funzionare. Carica regolarmente tutti i record presenti, ma quando provo a cancellare un FORNITORE (Cod_Fornitore,Ragione_Sociale,Indirizzo,Telefono) , mi esce scritto "Numero Record cancellati = 0"
ve lo posto di seguito, comunque se ne avete una funzionante va bene lo stesso:
Codice PHP:
<?php
$DBhost = "localhost";
$DBuser = "root";
$DBpass = "";
$DBName = "biblioteca";
// richiamo lo script responsabile della connessione a MySQL
$db = @mysql_connect("$DBhost", "$DBuser", "$DBpass")
or die ("Connessione al db impossibile...");
@mysql_select_db($DBName, $db)
or die ("Impossibile selezionare il db...");
if($_POST)
{
$ids = isset($_POST['Cod_Fornitore']) ? $_POST['Cod_Fornitore'] : array();
elimina_record($ids);
}
elseif(isset($_GET['Cod_Fornitore']))
{
elimina_record(array($_GET['Cod_Fornitore']));
}
else
mostra_lista();
function mostra_lista()
{
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '[b]'.htmlentities($_GET['msg']).'[/b]
';
$table = "fornitore";
// preparo la query
$query = "SELECT * FROM fornitore";
// invio la query
$result = mysql_query($query) or die (mysql_error());
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
echo '
<form name="form1" method="post" action="">
<table border="1">
<tr>
<th> </th>
<th>Fornitore</th><th>Ragione Sociale</th><th>Indirizzo</th><th>Telefono</th>
<th> </th>
</tr>';
while ($row = mysql_fetch_array($result))
{
$nome = htmlentities($row['Cod_Fornitore']);
$ragione= htmlentities($row['Ragione_Sociale']);
$indirizzo= htmlentities($row['Indirizzo']);
$tel= htmlentities($row['Telefono']);
// preparo il link per la modifica dei dati del record
$link = $_SERVER['PHP_SELF'].'?Cod_Fornitore=' . $row['Cod_Fornitore'];
echo "<tr>
<td><input name=\"Cod_Fornitore[]\" type=\"checkbox\" value=\"$row[Cod_Fornitore]\" /></td>
<td>$nome</td><td>$ragione</td><td>$indirizzo</td><td>$tel</td>
<td><a href=\"$link\">elimina</a></td>
</tr>";
}
echo '</table>
<input type="submit" name="Submit" value="Elimina record selezionati" />
</form>';
// chiudo la connessione a MySQL
mysql_close();
}
function elimina_record($ids)
{
// verifico che almeno un id sia stato selezionato
if(count($ids) < 1)
{
$messaggio = urlencode("Nessun record selezionato!");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}
// per precauzione converto gli ID in interi
$ids = array_map('intval',$ids);
// creo una lista di ID per la query
$ids = implode(',',$ids);
// preparo la query
$query = "DELETE FROM fornitore WHERE Cod_Fornitore IN ($ids)";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// conto il numero di record cancellati
$num_record = mysql_affected_rows();
// chiudo la connessione a MySQL
mysql_close();
$messaggio = urlencode("Numero record cancellati: $num_record");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
?>