Voilà je débute dans les expressions régulières,et je voudrai l'insérer dans un code php pour faire un contrôle de saisie voici le code :
if (preg_match("#([0-9][0-9][, ][0-9]{2}$)?#", $note))
{
// Si le controle est bon il fait la mise a jour de la note
$sql = "UPDATE evaluation e SET note= '$note', appreciation = '$appreciation' WHERE ids = '$ids' AND e.idm in (select distinct m.idm from matiere m where libelle ='$m') ";
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
[ diapublication dans deux groupes, suivi vers fr.comp.lang.regexp ]
Bonjour,
Le 13/03/2009 17:01, psyroy75 a écrit :
Voilà je débute dans les expressions régulières,et je voudrai l'insérer dans un code php pour faire un contrôle de saisie
Ok. Je fais donc suivre la discussion vers fr.comp.lang.regexp, beaucoup plus adapté.
voici le code :
if (preg_match("#([0-9][0-9][, ][0-9]{2}$)?#", $note)) {
Ce code permet de trouver par exemple une sous-chaîne telle que "99,99" ou "99 99" à la fin de la chaîne $note, soit une chaîne vide à n'importe quelle position. Or on peut *toujours* trouver une chaîne vide n'importe où dans une autre chaîne, donc le 'if' réussira toujours et tu ne rentreras jamais dans le 'else'.
[...]
Les notes ce présente sous cette forme 10,00 donc je voulais savoir pourquoi sa coince.
Cf. ci-dessus pour l'explication. Si toutes tes chaînes sont censées comporter cinq caractères, avec deux chiffres au début puis une virgule ou une espace et enfin deux autres chiffres, alors essaye ceci :
if (preg_match("#^[0-9][0-9][, ][0-9][0-9]$#", $note)) {
ou encore :
if (preg_match("#^[0-9]{2}[, ][0-9]{2}$#", $note)) {
Cordialement, -- Olivier Miakinen
[ diapublication dans deux groupes, suivi vers fr.comp.lang.regexp ]
Bonjour,
Le 13/03/2009 17:01, psyroy75 a écrit :
Voilà je débute dans les expressions régulières,et je voudrai l'insérer dans un
code php pour faire un contrôle de saisie
Ok. Je fais donc suivre la discussion vers fr.comp.lang.regexp, beaucoup
plus adapté.
voici le code :
if (preg_match("#([0-9][0-9][, ][0-9]{2}$)?#", $note))
{
Ce code permet de trouver par exemple une sous-chaîne telle que "99,99"
ou "99 99" à la fin de la chaîne $note, soit une chaîne vide à n'importe
quelle position. Or on peut *toujours* trouver une chaîne vide n'importe
où dans une autre chaîne, donc le 'if' réussira toujours et tu ne
rentreras jamais dans le 'else'.
[...]
Les notes ce présente sous cette forme 10,00 donc je voulais savoir pourquoi sa
coince.
Cf. ci-dessus pour l'explication. Si toutes tes chaînes sont censées
comporter cinq caractères, avec deux chiffres au début puis une virgule
ou une espace et enfin deux autres chiffres, alors essaye ceci :
if (preg_match("#^[0-9][0-9][, ][0-9][0-9]$#", $note))
{
ou encore :
if (preg_match("#^[0-9]{2}[, ][0-9]{2}$#", $note))
{
[ diapublication dans deux groupes, suivi vers fr.comp.lang.regexp ]
Bonjour,
Le 13/03/2009 17:01, psyroy75 a écrit :
Voilà je débute dans les expressions régulières,et je voudrai l'insérer dans un code php pour faire un contrôle de saisie
Ok. Je fais donc suivre la discussion vers fr.comp.lang.regexp, beaucoup plus adapté.
voici le code :
if (preg_match("#([0-9][0-9][, ][0-9]{2}$)?#", $note)) {
Ce code permet de trouver par exemple une sous-chaîne telle que "99,99" ou "99 99" à la fin de la chaîne $note, soit une chaîne vide à n'importe quelle position. Or on peut *toujours* trouver une chaîne vide n'importe où dans une autre chaîne, donc le 'if' réussira toujours et tu ne rentreras jamais dans le 'else'.
[...]
Les notes ce présente sous cette forme 10,00 donc je voulais savoir pourquoi sa coince.
Cf. ci-dessus pour l'explication. Si toutes tes chaînes sont censées comporter cinq caractères, avec deux chiffres au début puis une virgule ou une espace et enfin deux autres chiffres, alors essaye ceci :
if (preg_match("#^[0-9][0-9][, ][0-9][0-9]$#", $note)) {
ou encore :
if (preg_match("#^[0-9]{2}[, ][0-9]{2}$#", $note)) {