|
|
|
|
Posté par
sokai, le mercredi 17 octobre 2007 à 16:59:06Configuration: Windows XP Internet Explorer 7.0
ta case à cocher sera-t-elle dynamique ou existe-t-il un bouton sur la page qui permettra de valider toutes les sélections ? |
je pensais avoir 2 bouton:
un pour supprimer le fournisseur qui a la case cochée a son coté l'autre pour modifier le fournisseur qui a la case cochée a son coté PS: Je veux bien également connaitre ton point de vue avec une case dynamique ( faudra mexpliquer je n'y connais rien ) histoire de comparer quelle solution est la meilleure ;) ui je suis un peu perfectioniste -_-;; |
une case à cocher dynamique déclenche la requête SQL dès que l'utilisateur coche la case, c'est un peu plus complexe au niveau du code
le truc pour insérer une case à cocher associée à chaque entrée SQL, c'est d'attribuer un nom de checkbox différent : <? $id=0; $sql ="select * from table"; $req=mysql_query($sql); while($data=mysql_fetch_assoc($req)) { $id++; echo " <tr> <td><input type='checkbox' name='casesuprr".$id."'></td> <td><input type='checkbox' name='casemodif".$id."'></td> <td>".$data['champ1']."</td> <td>".$data['champ2']."</td> <td>".$data['champ3']."</td> <td>".$data['champ4']."</td> <td>".$data['champ5']."</td> </tr> "; } |
okay ! je vais tester tout ca cette après-midi ! je te dirai ce soir si cela marche !
En tout cas merci beaucoup pour ton aide pitxu ;) ! |
Bon cela maffiche bien la liste des fournisseurs avec une case a cocher ( suprr et modif ) devant.
Maintenant supposons que l'utilisateur coche une case quelconque (suprr ) et appuye ensuite sur un bouton " supprimer " Comment faire pour retrouver le fournisseur correspondant à la case à cocher selectionnée et le supprimer ? (La primary key de mes fournisseurs sont leur Numéro "numFou") J'ai donc penser à retrouver le numFou du fournisseur dont la case à été cochée. De mettre ce résultat dans un variable que je pourrai récupérer dans la page appelée par le bouton " supprimer " Et qui me permettra donc de supprimer ce fournisseur. J'ai des idées très claire mais... Par contre comme je débute je ne sais pas trop comment m'y prendre niveau code. PS: Autre petite question à part: sur un petit tableau HTML de 2 colones sur 2 ligne ( 4 cellules ). Comment dois-je faire si je veux afficher le contenu de la cellule en bas a droite (qui est sencé avoir les coordonnées 2,2) par exemple. Existe-t-il un système de coordonée ou de nom attribué ? |
Bonjour,
Pour que ton bouton supprimier fonction, et bien tu as parfaitement la solution, ta case à cocher doit avoir pour nom l'id de la ligne à effacer ensuite lorsque la personne clique sur le bouton supprimier il faut récupérer les informations par methode POST Voici un petit exemple <input type='checkbox' name='".$id."'> Supposons que l'id soit égale à 6 : Lorsque la personne clique sur supprimer ca le renvoie sur une page contenant ce code : <?php if ($_POST['6'] == 1) { //connexion à la BDD //suppresstion de la ligne concernée WHERE id=6 } ?> Il va de soit que si il y a une multitude de case à vérifier le mieux reste d'utiliser une boucle toujours en php. J'espère avoir été clair, en cas de besoin n'hésite pas à me recontacter |
bon c totalement correct mais j'ai un autre problème à présent.
Il se peut que l'id de la case à cochée ne corresponde pas au numFou à supprimer. En effet disons que j'ai 3 fournisseurs dans ma table avec les numéros 1, 2, 3. Je supprime le N° 2. il me reste donc le N° 1 et le N°3 qui auront une case a coher devant. Ces cases à cocher auront comme id : 1 et 2 ce qui ne correspond pas au numFou 1 et 3. J'en arrive à la conculsion qu'il faut que chaque fois que je supprime un fournisseur j'enclanche une requête qui remettre tout les numFou dans l'ordre sans "trou" (celui supprimé) pour que les id des cases à cocher et les numFou correspondent OU que l'orsque j'affiche mes fournisseurs avec leurs case a cocher comme cela : <? $id=0; $sql ="select * from table"; $req=mysql_query($sql); while($data=mysql_fetch_assoc($req)) { $id++; echo " <tr> <td><input type='checkbox' name='casesuprr".$id."'></td> <td><input type='checkbox' name='casemodif".$id."'></td> <td>".$data['champ1']."</td> <td>".$data['champ2']."</td> <td>".$data['champ3']."</td> <td>".$data['champ4']."</td> <td>".$data['champ5']."</td> </tr> "; } MAIS au lieu de mettre un id pour les cases à cocher je mette dirrectement le numFou comme id de case à cocher mais je ne sais pas comment l'ecrire en code... cela doit ressembler a quelque chose de la sorte ( si c'est possible de le faire ^_^ ) <? $sql ="select * from table"; $req=mysql_query($sql); while($data=mysql_fetch_assoc($req)) { echo " <tr> <td><input type='checkbox' name='casesuprr".numFou."'></td> <td><input type='checkbox' name='casemodif".numFou."'></td> <td>".$data['champ1']."</td> <td>".$data['champ2']."</td> <td>".$data['champ3']."</td> <td>".$data['champ4']."</td> <td>".$data['champ5']."</td> </tr> "; } Merci de me corriger ^________^;;; |
O_o? |
Bonjour,
Le code que je t'ai donné suffit car tu te base sur l'id, que celle-ci soit différente du numFou c'est sans importance, par exemple une case qui a pour id "12" même si elle correspond au numFou '50' ca effacera la ligne de ta table ou l'ID est de 12. Donc dans tous les cas ca reste bon, et ce serait bien trop laborieux si à chaques fois il faut remettre les id en places (Mouarf le jeu de mots à 2 balles). |
J'ai bien compris le problème est que je n'ai pas d'id dans ma BDD j'ai juste : numFou, nomFou, adrFou, telFou
Donc pour supprimer une ligne ( celle qui a la case cochée ) je dois bien connaitre la clé primaire du fournisseur que je veus supprimer, c'est a dire le numFou. Ca doit donner un truc du style DELETE FROM fournisseur numFou, nomFou etc.... WHERE numFou = id le problem est que l'id ne correspond pas toujours au fournisseur voir exemple du post N°7 jeudi 18 octobre 2007 à 15h13:37 si non c'est que j'ai mal compris ta technique ;( et je ne vois pas du tout quoi marquer niveau code... si tu px me donner un exemple En tout cas merci de t'intéresser a mon cas Dj Nam ! |
while($data=mysql_fetch_assoc($req)) {
$id++; a mon avis ceci est a éviter car comme tu l'a di tu te repere sur le numfou et pas sur une suite linéaire de nombres a la place de <td><input type='checkbox' name='casesuprr".numFou."'></td> je mettrais <td><input type='checkbox' name='casesuprr".$data['numFou']."'></td> come ca tu récupère le numfou de la bdd et c'est directement lié ---> Je veux bien également connaitre ton point de vue avec une case dynamique ( faudra mexpliquer je n'y connais rien ) histoire de comparer quelle solution est la meilleure ;) ui je suis un peu perfectioniste -_-;; <--- je préfère la solution avec le bouton en dynamique moi ^^ <?php mysql_connect("url_de_la_BDD","pseudo","pass"); //url, pseudo, pass mysql_select_db("nom_de_la_base"); //nom if (isset($_POST['effacer'])) { mysql_query('DELETE FROM le_nom_de_table WHERE numFou="'.$_POST['effacer'].'"') or die('<p>'.mysql_error().'</p>'); } $req=mysql_query("SELECT * FROM le_nom_de_table") or die('<p>'.mysql_error().'</p>'); while($data=mysql_fetch_assoc($req)) { echo '<tr align="right" valign="bottom"> <td><input type="submit" name="effacer" value="'.$data['numFou'].'"></td> <td>'.$data['nom'].'</td> <td>'.$data['telephone'].'</td> <td>'.$data['adresse'].'</td> <td>'.$data['etc ...'].'</td> </tr>'; } ?> ps : j'ai rajouté ce qu'il fau pour que le contenu du tableau soi aligné en bas a droite |
okay merci à tous j'ai finalement réussi ! ;) |
| 07/09 15h05 | [Firefox][GreaseMonkey] Personnaliser les pages web | Mozilla Firefox |
| 05/01 19h00 | [Spywares] Méthodes de désinfection | Spywares |
| 15/03 15h14 | Installer un firewall sous Ubuntu | Ubuntu |
| 16/11 22h56 | Votre première application graphique avec Python et Glade | Programmation |
| 28/12 21h05 | Faire fonctionner vista sur une petite configuration Materielle | Windows |
| 21/04 10h54 | Alignement dans un tableau des cases à cocher | 0 |
| 21/11 15h07 | Formulaire case à cocher | 5 |
| 06/06 17h04 | [Access] problème formulaire / cases à cocher | 1 |
| 19/01 11h26 | Word formulaire cases à cocher | 3 |
![]() | GreaseMonkey - GreaseMonkey permet de bidouiller à la volée les pages web que vous consultez. C'est à dire qu'il va modifier la page... | Catégorie: Extensions Firefox Licence: Open Source |
![]() | Casc'ADSL - Casc'ADSL est un outil destiné aux Internautes se connectant via le service d'accès distant et désireux de maintenir leur... | Catégorie: ADSL Licence: Freeware/gratuit |
![]() | Cashbox - La gestion des finances n'est pas toujours chose facile pour tout le monde, sauf si on a fait des études spéciales. Voici... | Catégorie: Comptabilité/Paie Licence: Open Source |
![]() | MediaInfo - MediaInfo fournit la liste des codecs nécessaires ainsi que des informations techniques sur vos fichiers vidéo et audio. ... | Catégorie: Codecs Licence: Open Source |
![]() | Proline Caswm IE 400 | Catégorie: Casque audio | 4.90 € Darty |
![]() | Proline Caswm CO 400 | Catégorie: Casque audio | 5.08 € Darty |
![]() | Casio Stereo Headphones | Catégorie: Casque audio | |
![]() | Connectland CAS-CNL-CM-5008-USB | Catégorie: Casque audio |