Différencier NULL du 0 heeeeelp [Résolu]

D1stort1on 57 Messages postés samedi 11 janvier 2003Date d'inscription 30 janvier 2010 Dernière intervention - 26 avril 2006 à 19:16 - Dernière réponse : D1stort1on 57 Messages postés samedi 11 janvier 2003Date d'inscription 30 janvier 2010 Dernière intervention
- 27 avril 2006 à 12:28
Salut,

Voilà mon soucis, je suis en train de réaliser une petite application pour la gestion d'un tournoi de foot.

Les administrateurs peuvent ajouter les résultats du match, mon soucis est que lors de l'ajout du résultat, mon code attribue les points selon le résultat...

Ce qui fait que j'ai décidé qu'une fois le résultat ajouté, les admin ne peuvent pas modifier le score.

Ce que je n'arrive pas à faire c'est que sur la page ou les admins ajouteront le score, si le score n'a pas encore été entré, il y a le formulaire qui apparait, une fois le score ajouté, je check si le résultat contient qqc, si oui je masque le formulaire pour n'afficher que le résultat.

Seulement si le score est de 0 à 0, le formulaire s'affichera quand même

Merci d'avance
Yves
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_Anthomicro 9440 Messages postés mardi 9 octobre 2001Date d'inscription 13 avril 2007 Dernière intervention - 26 avril 2006 à 22:42
3
Merci
Salut,

utilise isset() pour tester si tes variables existent, ensuite le is_int ça va surement renvoyer FALSE, car les $_POST sont des strings, utilise plutôt ctype_digit() ou is_numeric()

Ensuite sinon tu n'as pas mis de valeur par défaut pour tes champs MySQL ?

Merci cs_Anthomicro 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 70 internautes ce mois-ci

Commenter la réponse de cs_Anthomicro
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 26 avril 2006 à 19:29
0
Merci
Hello,

faudrait déjà savoir de quoi tu parles : php, sql?
D'où sortent ces scores!
Bref, en php : is_int () renverra true pour 0. Mais pas true pour 'rien'.
is_null () renverra trrue pour 'null', mais pas pour 0.
Joue avec types...!
En sql, tu peux n'afficher que les scores où il n'y a pas de score :
WHERE score IS NULL par exemple, si ton champ autorise les nulls.

Chais pas, on manque d'infos.
Commenter la réponse de malalam
D1stort1on 57 Messages postés samedi 11 janvier 2003Date d'inscription 30 janvier 2010 Dernière intervention - 26 avril 2006 à 20:37
0
Merci
Merci pour ta réponse,

Il n'est pas toujours facile de donner les bonnes infos quand on est amateur

C'est très certainement une de tes infos qu'il me faut mais je ne suis pas sur de l'utilisation alors voilà un peu plus d'infos:

J'extrait les données de ma base, les scores sont dans un champ smallint qui autorise le null
En suite quand j'affiche:

if (monChampEstVide($val_mat['matche_but_1'])) { //la je ne sais pas quoi mettre pour différencier le 0 du NULL
 echo "là j'affiche mon formulaire d'ajout du score";
}
else {
 echo "là j'affiche le score";
}

D1stort1on
Commenter la réponse de D1stort1on
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 26 avril 2006 à 20:39
0
Merci
vais peut etre dire un betise mais

tu peux concatener '00'

qui sera different de '  '

??
Commenter la réponse de sidf
D1stort1on 57 Messages postés samedi 11 janvier 2003Date d'inscription 30 janvier 2010 Dernière intervention - 26 avril 2006 à 22:06
0
Merci
Hello,

En fait maintenant j'ai mis ca:

if ( (is_null($val_mat['matche_but_1'])) ) {

mon formulaire

}

else {

mon résultat

}

et maintenant ca fonctionne.
 --------------------------------------------------------------------------

Pour ce qui est de l'ajout à la bdd du score par le formulaire, j'ai cette verif:

if (!is_int($_POST['match_but_1']) and !is_int($_POST['match_but_2'])) {

mon ajout

}

seul soucis c'est que les ajouts sont ok mais si j'envoie le formulaire avec les 2 champs vides... ben y prend 0 et 0 comme valeur, qu'est-ce que je fais faux???

Merci bonne nuit
Commenter la réponse de D1stort1on
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 26 avril 2006 à 22:42
0
Merci
Salut,

utilise un === pour différentier NULL de 0:

if (0===NULL){
echo 'texte jamais affiché';
}

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Commenter la réponse de coucou747
FhX 2368 Messages postés mercredi 13 octobre 2004Date d'inscription 18 avril 2015 Dernière intervention - 27 avril 2006 à 02:10
0
Merci
Ou alors, tu forces le passage en int :

$var = (int) $_POST['var'];

Et la t'as ton entier :)
Commenter la réponse de FhX
D1stort1on 57 Messages postés samedi 11 janvier 2003Date d'inscription 30 janvier 2010 Dernière intervention - 27 avril 2006 à 12:28
0
Merci
Merci beaucoup, vous m'avez sauvé

en premier le teste avec le isset()
et après avec le is_numeric()

Le résultat est le bon héhé.

Encore merci @+

D1stort1on
Commenter la réponse de D1stort1on

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.