Forse potresti adottare una soluzione più semplice, evitando di usare variabili inutili. Guarda questo esempio senza formattazione, anche se quella che stai utilizzando non è che sia proprio standard, vedi div con id ripetuti ecc.. ma questo è un discorso diverso. Pensa una cosa alla volta, inizia dalle istruzioni in "preleva.php":
Codice PHP:
<form action="delete.php" method="post">
<?php
//query al database...
while($riga = mysql_fetch_array($result)) {
//stampa i dati interessati e rende il checkbox un array con l'uso delle []
//per meglio eseguire le operazioni successive nella pagina delete.php
echo $riga['modello'] . '<input type="checkbox" name="box[]" value="' . $riga['id'] .'" />
';
}
?>
<input type="submit" name="submit" value="Invia" />
</form>
delete.php
Codice PHP:
<?php
//connessione al database...
//controlla se sono stati inviati dati dal form e se è stato spuntato almeno un checkbox
if(isset($_POST['submit']) && !empty($_POST['box'])) {
//unisco gli elementi dell'array creato precedentemente in una stringa per sfruttare
//l'istruzione IN nella query che si occuperà di eliminare i records selezionati e alla fine
//esegue un semplice controllo che informa sull'esito dell'operazione.
$id = implode(',', $_POST['box']);
mysql_query("DELETE FROM tabella WHERE id IN($id)") or die(mysql_error());
echo mysql_affected_rows() < 1
? 'Nessun record eliminato.'
: 'Sono stati eliminati ' . mysql_affected_rows() . ' records.';
}
?>