Checkbox + validation du formulaire (ASP/SQLServer) - HTML/CSS - Programmation
Marsh Posté le 06-06-2005 à 12:06:16
ben en javascript, c'est possible, mais si le gars a désactivé le js ben c'est con
Marsh Posté le 06-06-2005 à 14:09:56
J'ai trouvé ca en javascript mais je n'arrive pas à le faire pour toutes les lignes
Code :
|
Marsh Posté le 06-06-2005 à 15:52:20
avec des boutons radio.
Tu n'auras pas "signé" et "facturé" en meme temps, mais "facturé" sous-entend "signé"
sinon comme tu n'as que 2 valeurs possibles pour chaque champ (activé/désactivé), tu peux utiliser "set" (set('signe','facture','annule','perdu')) dans ta table. et si tu suis mon conseil là au-dessus, un "enum" (enum('signe','facture','annule','perdu')) suffira
Marsh Posté le 06-06-2005 à 15:54:46
si ce que tu cherches a faire c'est juste de faire en sorte que une seule case puisse être cochée, et que quand on en coche une ca décoche donc les autres préalablement sélectionnées, les boutons radio le font très bien, et sans recours à aucun javascript ou quoi que ce soit
Marsh Posté le 06-06-2005 à 18:10:05
ritzle a écrit : avec des boutons radio. |
Oui c'est bon ca marche merci !!
par contre j'ai un autre soucis :
je ne sais pas comment effectuer une mise à jour sur une table sql pour tous les boutons radios qui sont cochés...Vous n'auriez pas une idée ??
Marsh Posté le 06-06-2005 à 18:13:48
récupérer les données du formulaire
ou
modifier les entrées de la bdd
???
Marsh Posté le 06-06-2005 à 18:15:05
ritzle a écrit : récupérer les données du formulaire |
Récupérer les données du formulaire + mettre à jour la BDD (par exemple pour tous les radios cochés signé je mets les devis à signé dans la base SQL)
Marsh Posté le 06-06-2005 à 18:31:19
La requete MySQL c'est :
UPDATE `devis` SET `signe` = '1' WHERE `id` = '1' LIMIT 1;
il faut donc que chaque entrée ait un champ unique (ici champ 'id' avec clé primaire et auto_increment)
Marsh Posté le 06-06-2005 à 18:35:04
ritzle a écrit : La requete MySQL c'est : |
Ouai je sais comment faire en SQL mais le problème est que je n'arrive pas à séparer les différentes lignes ...
il me faudrait un truc genre :
Code :
|
Marsh Posté le 06-06-2005 à 18:37:30
la le truc le plus simple c'est de mettre les champs de la base en "enum" ou "set" comme je te l'avais conseillé.
donc ca donne un truc du genre :
Code :
|
Marsh Posté le 07-06-2005 à 09:16:51
ritzle a écrit : la le truc le plus simple c'est de mettre les champs de la base en "enum" ou "set" comme je te l'avais conseillé.
|
Merci du conseil ... mais comment mettre en place correctement le "enum" pour qu'il prenne en compte toutes mes lignes (je ne sais pas combien j'ai de lignes vu que cela dépend de la table SQL) ?
Marsh Posté le 07-06-2005 à 10:15:51
Voilà en fait j'ai du mal à vraiment faire comprendre ce que je veux donc j'ai fait une capture ...
Je voudrais que le bouton "valider" soumette le formulaire et que en fonction de la case cochée la base SQL soit modifié ...
Marsh Posté le 07-06-2005 à 15:11:01
le nombre de ligne dépend de ta base de donnée et tu ne peux pas prévoir combien tu en as.
Donc j'imagine que tu fais une récupération de données dans ta base, puis tu fais afficher le formulaire avec une boucle.
Chaque champ du formulaire tu n'as qu'a l'appelé par exemple $champ.$incrementation , où $incrementation est l'indice de ta boucle.
Donc si tu as 3 lignes à faire afficher, ils seront appelés $champ0, $champ1, $champ2.
Pour récupérer les valeurs entrées dans le formulaire, tu refais une boucle, et en faisant comme Ritzle l'a conseillé ca donnera :
Code :
|
par exemple
Marsh Posté le 03-06-2005 à 16:58:16
Salut,
Je vais essayé d'exposer clairement mon problème:
J'ai créé un tableau à partir d'une requete SQL qui affiche les clients sous contrat de la base ...
Dans ce tableau j'ai 4 colonnes qui correspondent aux statuts des contrats : "signe,facture, annule, perdu".
J'utilise des checkbox pour faire ça mais mon problème c'est que je voudrais qu'en cliquant sur "annulé" par exemple, ca me désactive la checkbox "perdu", "signe" et "facture"(on peut pas avoir à la fois "annulé" et "signe" c'est logique).
J'ai essayé plusieurs techniques mais rien ne fontionne ...
Merci de votre aide!
Message édité par davyd le 06-06-2005 à 18:12:58