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 :

Formatage d'un numéro de téléphone


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut Formatage d'un numéro de téléphone
    Bonjour,
    j'ai besoin d'avis...
    Je veux enregistrer des numéro de téléphone dans une base de données access pour un site en php, donc au travers d'un driver ODBC.
    J'aimerai savoir s'il vaut mieux formater le numéro au moment de l'enregistrement, ou s'il est préférable de limiter le champ au caractere numérique et de formater l'affichage ?

    Sachant que si j'enregistre que les caractères numérique, à chaque fois que je vais vouloir afficher un numéro, il faudra que je fasse appel à la fonction de formatage.
    Alors que dans l'autre cas la fonction sera appelée juste au moment de l'enregistrement.

    Ensuite quel type de champ utilisez vous pour du numéro de tel ? texte ou entier ?

    Merci pour vos réponses.

  2. #2
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    comment veux-tu afficher le numéro ? en ajoutant des espaces ?
    moi j'aurai mis un type entier dans ma base aussi, au moins tu es sûr qu'il n'y aura que des chiffres dans ce champ.

  3. #3
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    Un type entier, je ne suis pas sûr
    0123456789 transformé en entier ça donne 123456789, donc perte d'informations...
    J'utiliserais un type texte...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    en fait pour l'instant j'enregistre mon numero de cette façon 0123456789 dans un champ texte, et quand je l'affiche il apparait de cette manière : 0123456789.

    Or les utilisateurs trouve ca illisible.

    Donc je me demandais est-ce qu'il vaut mieux que j'enregistre 0123456789 et que je fasse une fonction qui formate de cette façon 01 23 45 67 89 à chaque fois que je veux afficher un numéro.
    Ou est-ce que le formate au moment de l'enregistrer comme ça au moment de l'afficher je n'ai pas besoin de le mettre en forme.

    ???

  5. #5
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Enregistre comme ça 0123456789

    Et fait ta fonction qui affichera selon ton bon vouloir le résultat à l'utilisateur

    01 23 45 67 89 ou 01.23.45.67.89 etc etc

    A partir de là tu pourrais même jouer sur les codes internationaux et ajouter +33 devant par exemple
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  6. #6
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    oui, surtout que si un jour tu décides d'afficher le numéro autrement, il faudra mettre à jour toute la base de données... donc formattage du numéro à chaque affichage et non à l'insertion.

  7. #7
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    Oui,car de plus, en specifiantle nombre exact de chiffre (dans ce cas 10), tu gagnes de la place dans ta DB.
    Quoiqu'avec leurs puissance actuelles on est pas a 20 octets près ...



  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Dans ta base de donnée tu l'enregistre au format : 0123456789

    Et quand tu l'affiche tu utilise la fonction

    chunk_split($chaine,$pas,$separateur)

    $chaine ==>> Ton numero de telephone a formater

    $pas ==>> Nombre de caractère que le programme va sauter pour inserer le separateur.

    $separateur ==>> Motif que tu veux inserer a chaque pas.

    Donc si tu veux mettre un espace tous les 2 chiffre par exemple ca donnera :

    chunk_split("0123456789",2,' ');

    Si tu veux qu'il soit séparé par un point :

    chunk_split("0123456789",2,'.');

    Bien qu'avec le point il va t'en mettre un a la fin du numéro (En gros tu obtiendra ceci : 01.23.45.67.89. )

    Voilou éspérant t'avoir aidé...

  9. #9
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    Pas mal la fonction chunk_split ...
    Au fait, petite question dont je n'ai pas trouvé la réponse :
    Quand on définit un entier "INTEGER" comme champdans une base de donnée, et que l'on saisit des trucs du style
    a154sdf
    Qu'est ce qui va se produire ??
    D'après mes quelques test, le résultat semble quelque peu aléatoire, non ??



  10. #10
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    En principe il garde seulement les chiffre entier non ?

  11. #11
    Membre confirmé
    Avatar de giminik
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    303
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 303
    Points : 482
    Points
    482
    Par défaut
    en principe, il s'agit d'une erreur de typage donc l'insertion ne se fait pas.

  12. #12
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    Ben ce que je voulais dire pas un état aléatroire est que quelques fois il met les chiffres seulement, et d'autres rien du tout.
    Il ne genere même pas de warnings ou d'erreurs ??



  13. #13
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Non il ne génère pas d'erreur pour ça, il considère que tu sais ce que tu doit mettre dans tes champs (Je suppose :p)

  14. #14
    Membre habitué
    Avatar de Regnak
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 165
    Points
    165
    Par défaut
    a oui pas top pratique, mais c'est vrai que l'on peu restreindre l'enregistrement directement dans le champ input



Discussions similaires

  1. Récupérer le numéro de téléphone entrant
    Par louisss dans le forum Access
    Réponses: 23
    Dernier message: 26/07/2023, 18h21
  2. [XL-2013] Formatage numéro de téléphone
    Par Graineur dans le forum Excel
    Réponses: 4
    Dernier message: 24/06/2014, 20h37
  3. Réponses: 16
    Dernier message: 20/07/2012, 19h35
  4. récuperation d'un numéro de téléphone
    Par herzleid dans le forum Delphi
    Réponses: 4
    Dernier message: 17/07/2007, 09h25
  5. Insérer un numéro de téléphone
    Par Fleep dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 31/10/2004, 09h20

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