Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1813 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Page de confirmation de suppression et checkbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Page de confirmation de suppression et checkbox

n°1506273
Drwily
Mad Doctor !
Posté le 23-01-2007 à 11:59:11  profilanswer
 

Bonjour,
 
Je voudrais savoir ou trouvé un code "standard" pour effectuer un contrôle de suppression multiple dans la base avec une page récapitulative et un bouton de confirmation de suppression.
 
Exemple :
 
Je désire supprimer plusieurs enregistrements (en ligne).  
 
- J'affiche tout ces enregistrements,
- je coche chaque enregistrement que je désire supprimé (checkbox)
- je clique sur un bouton "suppression"
- une page récapitule les éléments à supprimer (que je peu dé-sélectionnés avec des checkbox déjà coché)
- l'utilisateur confirme la suppression
 
Merci !  :jap:


Message édité par Drwily le 23-01-2007 à 12:30:57
mood
Publicité
Posté le 23-01-2007 à 11:59:11  profilanswer
 

n°1506281
chani_t
From Dune
Posté le 23-01-2007 à 12:15:08  profilanswer
 

tu prends tes doigts.. ton cerveau et tu code :D...
 
bon serieusement, ya rien de compliqué à faire ça... et tout fait tu ne trouvera certainnement pas du code qui colle parfaitement à ce que tu as déjà fait... (regarde peut être sur php code source).
 
Si t'as des questions technique, pose les... mais je doute que quelqu'un te fasse ton code à ta place.

n°1506283
Drwily
Mad Doctor !
Posté le 23-01-2007 à 12:27:56  profilanswer
 

Je ne demande pas le code bien sur ! Juste une piste, s'il faut utiliser du javascript ou si l'on peut tout faire en PHP. C'est juste que dans ce que je fait, ce genre de page sera très souvent utilisé, et pour l'instant je n'arrive qu'a faire une confirmation que pour un seul enregistrement à la fois. Et ce n'est pas pratique pour l'utilisateur.
 
 

Code :
  1. <?php require('affichetable.php'); ?>
  2.  Suppression d'un r&ocirc;le<br><br>
  3.  <span class="txt">
  4.   <?php echo '<table align="center" bgcolor="#FFFF33" border=1 bordercolor="silver"><thead>
  5.    <tr>';
  6.     for($i = 1;$i < mysql_num_fields($result);$i++)
  7.     {
  8.       echo '<th>'.mysql_field_name($result,$i).'</th>';
  9.     }
  10.      echo '</tr></thead><tbody>';
  11.    echo '<tr>';
  12.     for($j = 1;$j<mysql_num_fields($result);$j++)
  13.     {
  14.       echo('<td>' . $row[$j] . '</td>');
  15.     }
  16.    echo '</tr>
  17.   </table><br>';
  18.   echo 'Confirmer la suppression de : <b>'.$row[1].'</b><br>';
  19.   echo '<form name="demande" method="post" action="editrole.php?option=4&num='.$num.'">'; ?>
  20.    <input name="supp" type="radio" value="oui">Oui<br>
  21.    <input name="supp" type="radio" value="non" checked style="margin-left:10">Non<br>
  22.    <?php echo '<input name="num" type="hidden" value="'.$num.'">'; ?>
  23.    <?php echo '<input name="choix" type="hidden" value="">'; ?></br>
  24.    <input type="submit" value="Valider" onClick="role();">
  25.   </form>
  26.  </span>
  27. <?php } function supprimer() {
  28. if ($_POST['choix'] == 'oui') {
  29.  require('affichetable.php');
  30.  $req = 'DELETE FROM ROLE WHERE numrole = '.$row[0];
  31.  $res = mysql_query($req);
  32.  if (mysql_num_rows($res) == 1) {
  33.    mysql_free_result($res);
  34.  }
  35. }


 
- J'affiche un tableau avec les enregistrements
- en cliquant sur un bouton supprimer je choisi l'enregistrement que je désire supprimer
- un page de confirmation s'affiche ou l'utilisateur choisi entre oui\non (avec la possibilité d'enlever certains des éléments précédemment sélectionnés)
 
Ce que je cherche à faire c'est de sélectionner un ensemble de ligne avec des checkbox et ensuite d'avoir la confirmation.


Message édité par Drwily le 23-01-2007 à 12:32:36
n°1506297
chani_t
From Dune
Posté le 23-01-2007 à 13:11:36  profilanswer
 

Pour moi soluce tout php/html
 
Tu fais donc une lecture de ta bdd... tu claque les colonnes des enregistrements que tu souhaite traiter, et tu mets dans un dernier champs de ton tableau une checkbox qui aura un nom composé. (nom de la colonne . Nro d'id de la ligne en question) exemple :
 
check_3, ferait référence à la 3éme ligne de l'enregistrement.
 
Le bouton validation renvoie vers une page de traitement. Cette page va parcourir toutes les checkbox àa la recherche de celle qui sont checkée, et récupérer dans un tableau tous les N° de ligne (découpage du nom de la checkbox).
 
Ensuite un script va récupére ce tableau et malaxer le tout pour pondre un tableau récapitulatif sympa pour le user, et le renvoyer vers la page.  
 
enfin le nouveau bouton valider du formulaire qui vient d'être généré enverra vers une page de traitement qui exécutera la requête... vla en gros.


Message édité par chani_t le 23-01-2007 à 13:11:59
n°1506771
omega2
Posté le 24-01-2007 à 14:16:50  profilanswer
 

Chani_t > T'as pas plus compliqué comme systéme de case à cocher?
 
drwily > Pour faire une liste de case à cocher, (des checkbox) tu donnes simplement le même nom à toutes les cases à cocher et évidement tu mets comme valeur l'identifiant (celle dans la base de donnée) de chaque élément sélectionnable. Avec php, la seule complication, c'est qu'il faut rajouter "[]" aprés le nom pour que php sache qu'on lui envoie une liste de valeur ce qui lui fera créer un tableau contenant ces valeurs.
Par exemple, si le "name" des cases à cocher est égal à "tab[]", en php, on retrouvera dans le tableau $_POST["tab"] (ou $_GET["tab"] ... en fonction de ce qui est indiqué dans le "method" de la balise <form> ) les valeurs des cases qui ont été coché.
 
Ensuite, pour savoir ce qui a été coché c'est tout simple, il suffit de faire une boucle (par exemple un "foreach" ) sur ce tableau.

Message cité 1 fois
Message édité par omega2 le 24-01-2007 à 14:18:04
n°1506942
chani_t
From Dune
Posté le 24-01-2007 à 21:29:05  profilanswer
 

omega2 a écrit :

Chani_t > T'as pas plus compliqué comme systéme de case à cocher?
...


 
nan ça vas :D.. tu noteras que ce que tu propose correspond à peu prés à la première partie de ce que j'ai proposé... si ce n'est l'identifiant. bref... why not

n°1507076
omega2
Posté le 25-01-2007 à 11:47:59  profilanswer
 

Entre parcourir un tableau en regardant les valeurs qu'il contient et vérifier l'existance de variables en créant et gérant dynamiquement les noms, il y a quand même une grosse différence. Certe dans les deux cas t'as une boucle, mais l'un des deux cas est trés crade au niveau programmation (je te laisse deviner laquelle) assez crade niveau utilisation des balises html (les checkbox sont fait pour pouvoir sélectionner un ou plusieurs éléments d'un ensemble d'élément donné et non pas pour avoir une liste d'élément déclaré différent (pas le même "name" ) et qui sont pourtant identique dans leur signification) et plus long au niveau exécution (tester 50 valeurs pour se rendre compte qu'il y en a 48 qui n'existe pas, c'est super économique dit donc).
En plus, en prenant de telles habitudes, il y a le risque de le voir revenir quand il voudra utiliser des listes déroulantes à sélection multiple tout simplement par ce qu'il aura mal apris au départ.
 
Au fait, niveau signification des éléments, du côté de l'html la solution que tu proposais revenais à avoir des cases à coché du genre "non fumeur", "1ére classe", "télé écran géant" alors que ma solution s'apparente plustôt à  "destinations voulus : paris, New York, Londre, ...". Comme tu peux le voir, la différence est quand même flagrante et ce qu'il demande correspond à ce que je lui ai proposé et non pas à ce que tu lui proposes toi.

n°1507455
chani_t
From Dune
Posté le 26-01-2007 à 13:52:41  profilanswer
 

Ouais, ok, c'est pas la peine de s'énerver :D... quand on m'explique je comprend.. sisi je t'assure ;).
 
bon ben maintenant je sais aussi comment m'améliorer ;). Merci pour ces précisions, que j'aurais aimé avoir avant ...

n°1507476
omega2
Posté le 26-01-2007 à 14:30:39  profilanswer
 

chani_t > T'inquiétes, je m'énerve pas, j'explique les différences. :p Pas ma faute si je fais facilement des gros patés confus. :D

n°1511678
limp15000
www.geneva-racing.ch
Posté le 07-02-2007 à 09:30:02  profilanswer
 

Messieurs bonjour,
Merci Omega2 c'est exactemement ce que je cherchais à faire, mais au début j'étais partis comme chani_t...
Mais la avec tab[] c'est parfait ;)

mood
Publicité
Posté le 07-02-2007 à 09:30:02  profilanswer
 

n°1517147
Drwily
Mad Doctor !
Posté le 20-02-2007 à 16:55:42  profilanswer
 

Oui ! Merci bien ca roule now !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Page de confirmation de suppression et checkbox

 

Sujets relatifs
[RESOLU]CheckboxREGLE: Surligner un mot dans une page
aide moi svp pour page perso internetPoser flux d'actu sur page html
Macro de recherche, total, puis suppressionTableau impossible à afficher dans le haut absolu de la page
Proteger une page avec un mot de passe... (une faill ?)Afficher du XML sur une page HTML...
Plus de sujets relatifs à : Page de confirmation de suppression et checkbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR