IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Est ce que la valeur NULL est considérée comme un zéro [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut Est ce que la valeur NULL est considérée comme un zéro
    Salut ,
    J'ai une table nomée livret_scolaire elle contient les notes des tests de chaque utilisateur livret_scolaire(test1(float), test2(float)),dans la table livret_scolaire , la valeur de ces deux note sont NULL, aussi que ces deux notes précisent le niveau d'un utilisateur..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
    //Aprés avoir calculer la note de test N°1 on l'ajoute dans son livret scolaire
     
     if(isset($_SESSION['login']))  {
    	mysql_connect("localhost","root","");
    	mysql_select_db("base")or die("can not selecte db");
     $req = mysql_query("UPDATE `base`.`livret_scolaire` SET `test1` = '".$note."' WHERE `livret_scolaire`.`pseudo` = '".$_SESSION['login']."' LIMIT 1 ") or die("mysql error");
     
          } 
       $a=mysql_query("SELECT test1  FROM livret_scolaire  WHERE  pseudo='".$_GET['who']."' ") or die(mysql_error());
    		 $d=mysql_fetch_array($a);
    		 if($d['test1'] != NULL){ //ici il prend la valeur NULL COMME un zero T_T ettttca je ne veuxxxxx pas 
    		  if( $d['test1']>=0 AND $d['test1'] <=18.37){
                           //alors on affiche l'image qui indique le niveau1
    		 echo'<img src="profile/1[1].gif" >';}
    		   if( $d['test1']>=18.37 AND $d['test1'] <=20){
                         //on affiche l'image qui indique le niveau2
    		 echo'<img src="profile/2[1].gif">';}}
    		  else{ //0_O Ici il n'excute rien dans ce cas ,il le prends pas du tt
    		 echo'<font color=red size=4>Vous n\'avez pas encore séléctionner ,aller passer <font color=blu><a href="test_niveau1.php">Le test de niveau N° 1</font></a> Pour séléctionner un niveau ,Merci.</font><br><br>';}
     
    		 ?>
    Voilà mon problème se voit qu'il est dans le zero et la valeur NULL je crois que phpmyadmin quand je lui dis (==NULL)c'est comme quand je dis (==0)mais dans mon cas quand c'est (==NULL) ce n'est pas comme (==0)car (==NULL) cad que l'utilisateur n'a pas passsé son test et (==0) c'est que l'utilisateur à déja passé son test et il a eu un zero
    Que dois-je faire??
    Merci,

  2. #2
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Par défaut
    J'aurai fait le test suivant :

    à la place de

    Et si tu veux tester le champ dans phpmyadmin il faut spécifier la valeur du champ comme ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    where test1 IS NULL
    ou
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    where test1 IS NOT NULL
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    je crois que phpmyadmin quand je lui dis (==NULL)c'est comme quand je dis (==0)
    Tout d'abord il faut remettre les choses a leur place :
    Phpmyadmin est un script PHP de gestion des base de donnée Mysql.

    Du côté de mysql :
    == n'existe pas
    = 0 ne renvoit pas les données NULL
    = NULL doit être remplacé par IS NULL qui est la syntaxe SQL.

    Du côté de PHP :
    == existe
    NULL == 0 est vrai
    NULL === 0 est faux

    En resumé : si tu veux en PHP verifier que la donnée reprise de la requete est NULL, $valeur === NULL
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    En php, tu as aussi is_null et empty .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    is_null(NULL) // renvoie true
    is_null(0) //renvoie false
     
    empty(NULL) //renvoie true
    empty(0) //renvoie true
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éclairé Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Par défaut
    Salut,
    Merci à tous pour vos réponses, pour jsd03 merci beaucoup votre solution marche trés bien , et merci sabotage pour les explication que vous m'avez donné,je vais les garder bien dans ma tête

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Est-ce que la valeur de l'attribut id doit être unique ?
    Par andrianiaina dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 03/08/2011, 11h31
  2. Réponses: 7
    Dernier message: 14/06/2010, 15h25
  3. Réponses: 5
    Dernier message: 02/12/2009, 14h57
  4. [XSLT] tester que la valeur n'est pas
    Par DrDam dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 15/05/2008, 09h24
  5. Comment vérifier que la valeur saisie est de type numérique ?
    Par prince_antonio dans le forum ASP.NET
    Réponses: 16
    Dernier message: 20/07/2006, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo