Partage
  • Partager sur Facebook
  • Partager sur Twitter

Insertion de VRAI ou FAUX transformé en 0 et 1

    21 juillet 2010 à 12:24:45

    Bonjour,
    Après quelques jours de codage, j'ai enfin réussi à coder ma page php qui prend en entré un seul fichier excel comportant tous les champs de toutes mes tables en mode NATURAL JOIN, et qui implémente toute ma base. (pas mal de conditions à mettre en place ^^). Bon là n'est pas mon problème. En effet, l'un des champs du tableau excel nommé `Free Field 6` comporte que des vrai ou des faux. Cependant une fois le script fini, et toutes les données insésées dans la base, tout est bien sauf ce champ là : tous les Vrai se sont transformé en 1 et les faux en 0... j'ai pourtant vérifié que mon champs était défini par un VARCHAR(255).
    j'utilise php-excel-reader pour immporter les valeurs du fichier excel s'il y en a qui connaisse.
    Comment résoudre ce problème?
    merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      22 juillet 2010 à 0:28:14

      Avec MySQL, un booléen est défini avec le type BOOL et c'est un INT(1). Donc oui, 0 ou 1. Cependant, en PHP, 0 == FALSE et 1 == TRUE. Donc cela revient au même :) .

      A+
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2010 à 9:40:58

        Cela revient au même... peut être sur le fond, mais sur la forme, moi je veux qu'en exportant les données de ma base, l'utilisateur ai une colonne avec marqué Vrai ou Faux, et pas une notation binaire à laquelle il ne comprendra rien. Y'a t'il une solution pour qu'il garde la notation Vrai/Faux dans la base?
        • Partager sur Facebook
        • Partager sur Twitter
          22 juillet 2010 à 11:45:00

          Tu l'exportes en quoi ? En SQL ? Dans ce cas, si tu as un champ VARCHAR 50, tu peux y entrer Vrai ou Faux sans problème normalement. En revanche, je ne sais pas pour TRUE ou FALSE. Essaie de transformer en un texte du genre v et f, que tu re-transformeras plus tard :)
          • Partager sur Facebook
          • Partager sur Twitter
            22 juillet 2010 à 12:21:39

            Citation : s

            Cela revient au même... peut être sur le fond, mais sur la forme, moi je veux qu'en exportant les données de ma base, l'utilisateur ai une colonne avec marqué Vrai ou Faux, et pas une notation binaire à laquelle il ne comprendra rien. Y'a t'il une solution pour qu'il garde la notation Vrai/Faux dans la base?


            C'est pas un argument : l'utilisateur n'a pas à savoir comment ta donnée est représentée en base.
            Si t'as un booléen, tu enregistres un booléen (ou ce qui s'en approche le plus selon le SGBD). C'est à l'affichage - et à l'affichage seulement - que tu transformes ça en quelque chose de "lisible" par un humain.
            • Partager sur Facebook
            • Partager sur Twitter
              26 juillet 2010 à 10:02:16

              Et justement? Comment on le transforme en quelque chose de lisible en sortie? Car je ressors toutes mes infos via MyODBC, et je ne vois aucune option permettant d'afficher des vrai Faux à partir de 0 ou 1 ...
              • Partager sur Facebook
              • Partager sur Twitter
                26 juillet 2010 à 11:49:15

                Avec une simple condition PHP tu peux faire ça :
                <?php
                if($ma_variable == 1)
                    echo "Vrai";
                else echo "Faux";
                


                Sinon tu peux utiliser une condition directement dans ta requête.
                Exemple :
                SELECT CASE WHEN booleen = 'F' THEN 'Faux' ELSE 'Vrai' END AS booleen_string FROM ta_table
                

                Ici on a un champs "booleen" qui contient des F ou des V, si "booleen" vaut 'N', alors on renvoie 'Faux', sinon il renvoie 'Vrai', et on récupère ça dans la variable booleen_string.
                • Partager sur Facebook
                • Partager sur Twitter

                Insertion de VRAI ou FAUX transformé en 0 et 1

                × 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