Dipende da cosa significa "il tutto funzioni"...
Il codice non è chiarissimo, provando a tirare ad indovinare su ciò che potresti aver voluto fare, mi sembra di capire che vuoi recuperare alcune righe dalla base di dati, mostrarle accanto ad una checkbox ciascuna in un
form, e far sì che le righe selezionate vengano cancellate quando il
form viene inviato.
Innanzitutto, non creare un
form per ogni
checkbox, creane uno unico con le checkbox all'interno. Va bene usare
id[] come nome, in questo modo crei un vettore, ma devi associarvi anche un valore affinché sia significativo (in questo caso
$row['id']:
Codice PHP:
<form method="POST" action="checkrequests.php">
<?php while ($row = mysql_fetch_assoc($result)): ?>
<label>
<input type="checkbox" name="id[]" value="<?php echo $row['id']; ?>">
<b>N°:</b> <?php echo $row['id']; ?> <br>
<b>Nome:</b> <?php echo $row['name']; ?> <br>
e gli altri campi...
</label>
<?php endwhile; ?>
</form>
Ciò fatto, ci sarà lato server uno script che raccoglie
$_POST['id'] e, per ogni
id esegue la cancellazione:
Codice PHP:
foreach ($_POST['id'] as $id) {
$query = "DELETE FROM rp_request WHERE id = $id";
$result = mysql_query($query);
if ($result === false) {
echo mysql_error();
}
}
Questa è la versione semplice. Mancano ovvi controlli di sicurezza e cose del genere, e in linea di massima si potrebbe migliorare evitando il ciclo iterativo ed eseguendo una sola interrogazione. Vedi tu se e quanto ti interessa migliorarlo.
PS: Le funzioni
mysql_* sono deprecate, usa
mysqli o
PDO.