Supprimer dans BDD avec 'checkbox'

boss183 Messages postés 187 Statut Membre -  
ViDikk Messages postés 78 Statut Membre -
Bonjour à tous,

Je viens solliciter votre aide car actuellement, j'ai une interface qui permet de lister les données présentes dans ma base de données et de pouvoir, en sélectionnant à l'aide d'un bouton radio, le supprimer de la base de données. Le problème est qu'avec les boutons radios, nous pouvons supprimer qu'une donnée à la fois, je souhaiterais pouvoir supprimer plusieurs données à la fois, et donc utiliser des check box mais je ne sais pas trop comment modifier mon code pour faire ça. Ci dessous mon code, si vous pouvez m'aider :

//connexion à la base de données
//paramètres : serveur, utilisateur, mot de passe, base de données
$link = DBconnect($serveur,$user,$mdp,$bdd);

$requete = 'SELECT title FROM document';
$resultat = mysql_query($requete) or die ('Ex&eacutecution de la requête impossible');
echo "<P align='center'><FONT SIZE=5 COLOR='#377693'><span style='font-variant: small-caps;'><B>Supprimer un Document</B></SPAN></FONT><BR><BR></P>";
echo "<form action='supprss.php' method='post'>";
      while ($liste=mysql_fetch_array($resultat))
      {
	print '<div style="width:50%;margin:auto;"><p style="text-align:justify;">'.'<input type="radio" value="'.$liste['title'].'" name="title">'.$liste['title'].'</p></div>'.'</radio>';
	}
    echo '<BR><BR>';
    echo '<P align="center"><input type="submit" value="Supprimer le document"></form></P>';


Merci d'avance pour voter aide !
A voir également:

3 réponses

ViDikk Messages postés 78 Statut Membre
 
Je ne vois pas ta partie de code pour la suppression, mais en gros, il faut remplacer les types "radio" par "checkbox" et leur donner comme nom un même tableau (par exemple "liste[]"). Lorsque tu veux faire la suppression des champs selectionnés, il te suffira de faire ta requête de suppression dans une boucle foreach de ce tableau :

foreach ($liste AS $key => $value){  
    $requete = "DELETE FROM document WHERE monchamp = '$value'";  
    mysql_query($requete) OR DIE ("Erreur de requete");  
}
0
boss183 Messages postés 187 Statut Membre 17
 
Merci mais je comprends pas trop le " AS $key => $value" ???
0
ViDikk Messages postés 78 Statut Membre
 
En gros, la boucle foreach va parcourir chaque ligne de ton tableau. le "AS $key => $value" est optionnel mais peut être utile pour accéder aux données de ton tableau parcouru. En faisant cela, tu accèdes à la clé de la ligne parcouru grace à la variable $key et à sa valeur avec $value.
En faisant :

foreach ($array AS $key => $value){
    echo "Clé du tableau : $key";
    echo "Sa valeur : $value";
}


Tu lui dis :

Pour chaque ligne parcouru de $array comme clé $key et valeur $value
    afficher "Clé du tableau : $key";
    afficher "Sa valeur : $value";
Fin Pour


Si je m'exprime mal, beaucoup de sites expliquent le principe du foreach ;)

https://phpsources.net/tutoriel-boucle-for-each.htm
0