Ciao a tutti chiedo gentilmente aiuto per poter eseguire cancellazione record selezionati su chechbox a mezzo di un pulsante che in questo caso si chiama
"Elimina record selezionati" attualmente non produce nessuna cancellazione
i record attualmente vengono cancellati uno per volta cliccando sul pulsante
della croce rossa , questo comunque mi va bene che ci stia , vorrei soltanto
selezionare piu' record e cancellarli tutti insieme con il pulsante sopra descritto posto qui di seguito lo script sperando in un vs gentile aiuto grazie.
<?php
mysql_connect("localhost", "utente", "password") or
die("Connessione non riuscita: " . mysql_error());
mysql_select_db("ninophp");
if($_POST)
{
$ids = isset($_POST['id']) ? $_POST['id'] : array();
elimina_record($ids);
}
elseif(isset($_GET['id']))
{
elimina_record(array($_GET['id']));
}
else
mostra_lista();
function mostra_lista()
{
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
}
$query = "select id,nome,cognome from indirizzi";
$rs = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($rs);
if ($num == 0)
echo "<div style="text-align:center">Nessun contatto nella presente tabella</div>";
else
{
if(empty($_GET['ordercampo']))
$_GET['ordercampo'] = "id";
if(empty($_GET['order']))
$_GET['order'] = "asc";
if($_GET['order']=="asc") {$ordinaVerso = "desc";}
if($_GET['order']=="desc") {$ordinaVerso = "asc";}
$query = "select id,nome,cognome from indirizzi order by $_GET[ordercampo] $ordinaVerso ";
$rs = mysql_query($query) or die(mysql_error());
?>
<center><table bgcolor="#ffff99" border="1">
<tr bgcolor="#FF0000">
<td align="center"><strong>selez.</a></strong></td>
<td align="center"><strong><a href="ordina69.php?ordercampo=<?php echo 'nome' ?>&order=<?php echo $ordinaVerso ?>" title="Inverti ordinamento">nome</a></strong></td>
<td align="center"><strong><a href="ordina69.php?ordercampo=<?php echo 'cognome' ?>&order=<?php echo $ordinaVerso ?>" title="Inverti ordinamento">cognome</a></strong></td>
<td align="center"><strong>elimina</a></strong></td>
</tr></center>
<?php
while($results = mysql_fetch_array($rs))
{
$nome = htmlentities($results['nome']);
$cognome = htmlentities($results['cognome']);
$link = $_SERVER['PHP_SELF'].'?id=' . $results['id'];
echo "<tr>";
// $id = $results['id'];
;
echo "<td><input name=\"id[]\" type=\"checkbox\" value=\"$results[id]\" /></td>";
echo "<td width=\"35%\"> $results[nome]</td>";
echo "<td width=\"35%\"> $results[cognome]</td>";
echo "<td><center><a href=\"$link\"><img src=\"x.gif\"></a></center></td>";
echo "</tr>";
} //fine ciclo while
} //fine else nel caso ci sia almeno un contatto nel comune
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 indirizzi WHERE id IN ($ids)";
// invio la query
$results = mysql_query($query);
// controllo l'esito
if (!$results) {
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);
}
echo '
<table border="1">
<input type="submit" name="Submit" value="Elimina record selezionati" />
<tr>
<th> </th>
<th>MENU</th>
<th> </th>
<td><a href="menuprincipale.php">menu</a></td>
<td><a href="inserire.php">Inserimento dati</a></td>
<th> </th>
</tr>';
?>