Ciao a tutti...
DB MySql con tabella genere, campo id_genere classico numerico e genere testuale.
Devo checcare uno o più ID e cancellarli...
Ho il classico form tabellare che recupera ID da checbox
codice:
$sql = "SELECT id_genere, genere FROM genere ORDER BY genere ASC";
$result = @$mysql->query($sql);
if(@$result->num_rows > 0) {
?>
<form id="cancellagenere" name="cancellagenere" method="post" action="newgenere.php?azione=cancella">
<table>
<caption>Generi</caption>
<tr>
<td>ID</td>
<td>ID</td>
<td>GENERE</td>
</tr>
<?php
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
{
?>
<tr>
<td><input type="checkbox" name="id_genere[]" value="<?php $row['id_genere']; ?>"></td>
<td><?php echo $row['id_genere']; ?></td>
<td><?php echo $row['genere']; ?></td>
</tr>
<?php }
}
?>
</table>
E nella pagina recupero con
codice:
$id = $_POST['id_genere'];
$i=0;
while(list($key,$value) = each($id))
{
$query = "DELETE FROM genere WHERE id= $id";
echo $query;
Ma anche se faccio
codice:
$id_genere = $_POST['id_genere'];
echo "Elementi selezionati: ".count($id_genere)."
";
echo "-> ".reset($id_genere);
while( $elemento = next($id_genere) ) echo "-> $elemento
";
Ottengo sempre lo stesso risultato:
mi stampa X volte la query (primo caso) dove X uguale al numero dei check che ho checcato oppure nel secondo caso mi stampa correttamente che l'array è di X elementi ma...... l'id non passa.... tanto che la sql si ferma con "delete from genere where id =" e stop...
Per favore... help....