Supprimer BDD avec 'checkbox'

Supprimer BDD avec 'checkbox' - PHP - Programmation

Marsh Posté le 13-05-2011 à 10:43:00    

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 :
 

Code :
  1. //connexion à la base de données
  2. //paramètres : serveur, utilisateur, mot de passe, base de données
  3. $link = DBconnect($serveur,$user,$mdp,$bdd);
  4. $requete = 'SELECT title FROM document';
  5. $resultat = mysql_query($requete) or die ('Ex&eacutecution de la requête impossible');
  6. 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>";
  7. echo "<form action='supprss.php' method='post'>";
  8.       while ($liste=mysql_fetch_array($resultat))
  9.       {
  10. 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>';
  11. }
  12.     echo '<BR><BR>';
  13.     echo '<P align="center"><input type="submit" value="Supprimer le document"></form></P>';


 
 
Merci d'avance pour voter aide !

Reply

Marsh Posté le 13-05-2011 à 10:43:00   

Reply

Marsh Posté le 13-05-2011 à 17:23:56    

Bon :
1) le code doit dater < 1999 tellement y'a  de balises dépréciées :o
2) j'ignorais qu'il existait une balise </radio> :D
3) les balises qui ne sont pas des conteneurs s'écrivent comme ça : <input ..... />. Autre ex : <br />
4) la mise en forme, c'est dans le css, pas dans le html
 
Pour votre pb, en regardant un peu des tutos sur le html, vous auriez trouvé qu'on doit faire, pour le html :
<input type="checkbox" value="'.$liste['title'].'" name="title[]">
 
Et dans le script supprss.php, faut traiter le champ"title" comme un tableau (variable $_POST["title"]). Faut donc faire une boucle sur cette variable et appeler autant de fois la requête sql qui fait le delete.
 
Sinon, l'autre solution, toujours dans supprss.php, c'est de modifier la condition du where dans la requête DELETE et à la place de WHERE ChampID = $_POST["title"], mettre WHERE ChampID IN (....)
A la place de "....", faut mettre la liste des ID sélectionnés dans la checkbox, contenus dans $_POST["title"] pour aboutir à une condition du style WHERE ChampID IN ("Titre 1", "Titre 2", ...)
 
ChampID représente le nom du champ concerné apr le titre, permettant de filtrer les enregistrement à supprimer ;) Va donc falloir vous mettre un peu au SQL aussi...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed