Enregistrer valeur case à cocher
Résolu
barale61
Messages postés
1214
Date d'inscription
Statut
Membre
Dernière intervention
-
barale61 Messages postés 1214 Date d'inscription Statut Membre Dernière intervention -
barale61 Messages postés 1214 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un script qui enregistre la valeur d'une case à cocher dans une table. Si la valeur est nulle dans la table cela ne fonctionne pas; et si la valeur est positive, cela réinitialise bien ma valeur. Aussi je ne vois pas ou se trouve l'erreur si vous voyez quelque chose ?
Merci beaucoup.
J'ai un script qui enregistre la valeur d'une case à cocher dans une table. Si la valeur est nulle dans la table cela ne fonctionne pas; et si la valeur est positive, cela réinitialise bien ma valeur. Aussi je ne vois pas ou se trouve l'erreur si vous voyez quelque chose ?
Merci beaucoup.
$updateSQL = sprintf("UPDATE articles SET prix=%s, designation=%s, famillesID=%s, etat='".$_POST['etat']."' WHERE reference=%s", GetSQLValueString($_POST['prix'], "double"), GetSQLValueString($_POST['designation'], "text"), GetSQLValueString($_POST['famillesID'], "int"), GetSQLValueString($_POST['reference'], "text"), GetSQLValueString($_POST['etat'], "int"));
A voir également:
- Enregistrer valeur case à cocher
- Audacity enregistrer son pc - Guide
- Case à cocher excel - Forum MacOS
- Raccourci clavier case à cocher - Forum Clavier
- Supprimer case à cocher excel ✓ - Forum Excel
- Case a cocher - Forum Word
6 réponses
Bonjour
Ton sprintf est incohérent : il y a 4 %s pour 5 variables...
Pourquoi pourquoi mettre $_POST['etat'] au lieu de %s dans la chaîne de format ?
Mais a priori, ça ne devrait pas empêcher ta requête de marcher .
Quand tu parles d'une valeur nulle ou positive, de quelle variable parles-tu ?
As-tu fait un echo $updateSQL; pour t'assurer que la requête est bien celle que tu crois ?
Ton sprintf est incohérent : il y a 4 %s pour 5 variables...
Pourquoi pourquoi mettre $_POST['etat'] au lieu de %s dans la chaîne de format ?
Mais a priori, ça ne devrait pas empêcher ta requête de marcher .
Quand tu parles d'une valeur nulle ou positive, de quelle variable parles-tu ?
As-tu fait un echo $updateSQL; pour t'assurer que la requête est bien celle que tu crois ?
Bonjour,
Ma requête fonctionne bien mais quand ma variable etat=0 dans ma table, je ne peux la modifier. Quand elle est égale à 1 (modifiée manuellement dans la table) je peux la désactiver en la décochant dans mon formulaire(=0).
Ma requête fonctionne bien mais quand ma variable etat=0 dans ma table, je ne peux la modifier. Quand elle est égale à 1 (modifiée manuellement dans la table) je peux la désactiver en la décochant dans mon formulaire(=0).
$etat = (isset($_POST['etat']) && $_POST['etat'] == 'on') ? 1 : 0; $updateSQL = sprintf("UPDATE articles SET prix=%s, designation=%s, famillesID=%s, etat=%s WHERE reference=%s", GetSQLValueString($_POST['prix'], "double"), GetSQLValueString($_POST['designation'], "text"), GetSQLValueString($_POST['famillesID'], "int"), GetSQLValueString($_POST["etat"], "int"), GetSQLValueString($_POST['reference'], "text")); }
Tu crées une variable $etat basée sur $_POST['etat'], mais qui vaut 0 ou 1
Mais pour ta requête, au lieu d'utiliser cette variable, tu utilises encore $_POST["etat"]essayes de transformer en int avec la fonction GetSQLValueString.
Je ne connais pas cette fonction car elle n'est pas standard, mais je parie qu'elle te rend toujours 0 si tu lui passes un texte qui ne correspond pas à un nombre.
Utilise donc ta variable $etat à la place de GetSQLValueString($_POST["etat"], "int") dans ta requête, tu l'as créée pour ça (tu ne le savais pas ?)
Mais pour ta requête, au lieu d'utiliser cette variable, tu utilises encore $_POST["etat"]essayes de transformer en int avec la fonction GetSQLValueString.
Je ne connais pas cette fonction car elle n'est pas standard, mais je parie qu'elle te rend toujours 0 si tu lui passes un texte qui ne correspond pas à un nombre.
Utilise donc ta variable $etat à la place de GetSQLValueString($_POST["etat"], "int") dans ta requête, tu l'as créée pour ça (tu ne le savais pas ?)
En fait la requête à été générée par DreamWeaver et je pense pouvoir la modifier afin d'ajouter cet état. Mais avec DreamWeaver ou manuellement cela fonctionne toujours pas même en plaçant ma variable dans la requête. Je passe sans doute à côté de quelque chose que je ne vois pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ça ne marche pas, ça ?
if (isset($_POST['etat'])) echo $_POST['etat']; // pour voir la valeur réelle $etat = (isset($_POST['etat']) && $_POST['etat'] == 'on') ? 1 : 0; $updateSQL = sprintf("UPDATE articles SET prix=%s, designation=%s, famillesID=%s, etat=%s WHERE reference=%s", GetSQLValueString($_POST['prix'], "double"), GetSQLValueString($_POST['designation'], "text"), GetSQLValueString($_POST['famillesID'], "int"), $etat, GetSQLValueString($_POST['reference'], "text")); }