Partage
  • Partager sur Facebook
  • Partager sur Twitter

null dans bdd

Sujet résolu
    16 novembre 2010 à 0:48:01

    bonsoir
    Je voudrais quand la valeur de la donnée d'un champ est null qu'en faisant un echo rien ne s'affiche.
    Autre chose
    Si j'ai 200 champs qui sont des dates, pour ma requête pour éviter de demander si ma date est dans le champ2 ou le champ 3....jusqu'à champ 200 existe'il une requête spéciale (les dates ne se suivent pas il faut donc réellement rentrer 200 dates).
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      16 novembre 2010 à 1:11:55

      Citation : jecherche

      Je voudrais quand la valeur de la donnée d'un champ est null qu'en faisant un echo rien ne s'affiche.


      C'est déjà le cas.

      Citation : jecherche

      Si j'ai 200 champs qui sont des dates, pour ma requête pour éviter de demander si ma date est dans le champ2 ou le champ 3....jusqu'à champ 200 existe'il une requête spéciale (les dates ne se suivent pas il faut donc réellement rentrer 200 dates).


      C'est une grosse erreur de conception. Tu dois faire une table de plus qui stocke des dates pour chaque id dans ta première table.
      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2010 à 12:59:59

        premiere reponse:
        Non ce n'est pas le cas, la donnée est null et affiche 0000-00-00 puisque c'est du format date, ai je fait une mauvaise manip?

        Deuxieme réponse
        ok. Existe 'il un tuto qui indique la méthode pour rentrer rapidement dans une table des dates avec un calendrier et des checkbox. Je n'arrive pas à trouver un calendrier avec des checkbox qui permette facilement de rentrer dates dans table.
        j'avais il y a longtemps procédé ainsi avec ASP je pense qu'avec PHP il doit y avoir aussi des solutions.
        Merci pour l'aide.
        • Partager sur Facebook
        • Partager sur Twitter
          16 novembre 2010 à 17:31:14

          Citation

          Non ce n'est pas le cas, la donnée est null et affiche 0000-00-00 puisque c'est du format date, ai je fait une mauvaise manip?


          Oui. NULL n'est pas une valeur, c'est l'absence de valeur. Quand on met NULL dans la table, on ne met pas 0000-00-00. Ça, c'est souvent un problème provenant de MySQL. On ajoute une contrainte NOT NULL à la table, on ne change pas la valeur par défaut, et quand on essaie d'ajouter une ligne sans mentionner la colonne, il met directement 0000-00-00 dans la table.

          Enfin, si tu veux permettre les NULL, au départ, y'a aucune raison pour ajouter une contrainte NOT NULL, évidemment. Si tu as des 0000-00-00 non désirés et que le problème ne vient pas de là, c'est probablement parce que tu ajoutes incorrectement tes dates dans ta table.

          Citation

          ok. Existe 'il un tuto qui indique la méthode pour rentrer rapidement dans une table des dates avec un calendrier et des checkbox. Je n'arrive pas à trouver un calendrier avec des checkbox qui permette facilement de rentrer dates dans table.


          Personnellement, je n'en connais pas, mais en faisant une petite recherche sur le Site du Zéro ou bien Google tu devrais trouver rapidement.
          • Partager sur Facebook
          • Partager sur Twitter
            16 novembre 2010 à 19:06:32

            Désolé je n'ai pas compris ton explication, concrètement comment faut il faire pour qu'une donnée dans un champs au format date ne renvoi pas 0000-00-00 quand on n'a pas rentré de date?
            Si je mets la date dans un champ au format vachar pourra t' elle être interprétée (en l'écrivant: aaaa-mm-jj).
            merci pour l'aide.
            • Partager sur Facebook
            • Partager sur Twitter
              16 novembre 2010 à 19:16:11

              Non, tu dois bien utiliser le type DATETIME ou TIMESTAMP, absolument pas varchar.

              Côté SQL, si tu ne veux pas remplir la colonne, tu ne dois pas utiliser de contrainte NOT NULL. C'est la première chose à faire.

              Ensuite, pour le reste, tu vas vraisemblablement devoir construire dynamiquement ta requête en PHP. Si telle champ n'a pas été rempli lors de l'envoi du formulaire, alors ajouter NULL. À partir de là, si tu rencontres des problèmes, tu devrais plutôt te diriger vers le forum PHP où d'autres membres pourront t'apporter de l'aide.

              N'hésite pas non plus à faire une petite recherche avant, il y a plusieurs sujets semblables.
              • Partager sur Facebook
              • Partager sur Twitter

              null dans bdd

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown