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 :

Fonction pour mise à jour de la colonne téléphone


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 9
    Points
    9
    Par défaut Fonction pour mise à jour de la colonne téléphone
    Bonsoir tout le monde

    je suis débutant en PHP et j'aimerai bien que vous m'aidier pour créer une fonction en php ,

    Je m'explique, j'ai développer un site web en php avec une base de donnée MySQL, sur le site j'ai mis un annuaire téléphonique.

    Tout fonctionne nickel par contre l'opérateur marocain a décidé de changer la numérotation et en ajoutant un 6 pour les mobiles et 5 pour les fixes

    en effet je dois les rajoutés moi aussi dans les annuaires, le problème c'est que je peux pas le faire manuellement vu que le nombre d'enregistrements est très important.

    j'ai pensé a créé une fonction php pour changer ça d'une manière automatique

    avez-vous un conseil ou un exemple pour que je puisse l'appliquer a ma base de donnée?


    Merci d'avance.

  2. #2
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    sans plus d'information difficile ...

    Une description de ta base serait utile ...
    As tu un champs qui te permet de savoir si c'est un fixe ou un portable ?
    Quel format on les numéros enregistrés ?

    ... à suivre
    <reve>Quand je serais grand je f'rais TOUT avec une seule ligne de commande</reve>

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par nimbus_77 Voir le message
    Bonjour,

    sans plus d'information difficile ...

    Une description de ta base serait utile ...
    As tu un champs qui te permet de savoir si c'est un fixe ou un portable ?
    Quel format on les numéros enregistrés ?

    ... à suivre
    Bon je vous expliques
    C'est une table avec plusieurs champs Nom, Prènom, adresse... Téléphone.
    Malheureusement je n'ai pas mis un champ préfixe c'est un champ numérique sur le quel j'enregistre les numéros téléphoniques directement format 0xxxxxxx

    Et pour information les numéros fixes au Maroc commençai par 02 et 03
    exemple 022 33 44 55 et les mobiles par 04,05,06 et 07 exemple 077 88 99 00.

    donc il faut ajouté un 5 pour les fixes (Ex. 05 22 33 44 55) et un 6 pour les mobiles (Ex. 06 77 88 99 00)

    j'espère que c'est claire, sinon posez-moi des questions

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par Sniper69 Voir le message
    Et pour information les numéros fixes au Maroc commençai par 02 et 03
    exemple 022 33 44 55 et les mobiles par 04,05,06 et 07 exemple 077 88 99 00.

    donc il faut ajouté un 5 pour les fixes (Ex. 05 22 33 44 55) et un 6 pour les mobiles (Ex. 06 77 88 99 00)
    tu peux faire directement avec des requêtes MySQL et les fonctions "IF" et "SUBSTRING"
    regarde ces pages :
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    http://dev.mysql.com/doc/refman/5.0/...functions.html

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par mathieu Voir le message
    tu peux faire directement avec des requêtes MySQL et les fonctions "IF" et "SUBSTRING"
    regarde ces pages :
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    J'ai jamais utilisé ces fonctions

    peux-tu m'éclaircir un peu?

    dois-je utiliser une requête MySQL de type

    UPDATE annuaire SET tel = replace(tel, '02', '052');

    mais comment préciser qu'il faut remplacer que les 2 premiers caractères?

  6. #6
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    Hello

    Ma question portait surtout sur le moyen de déterminer automatiquement si c'était un FIXE ou un PORTABLE ?

    et comme tu le suppose ce sera un update reste à savoir comment le faire.
    Cela t'ennuie de nous un 'describe' de ta table ?
    Ainsi nous aurions une approche réelle.

    bien à toi,
    <reve>Quand je serais grand je f'rais TOUT avec une seule ligne de commande</reve>

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    Si je me base sur ton exemple de SQL voici une solution

    UPDATE annuaire SET tel = concat('052',substr(tel, ,3,50)) where tel like '02%';

    Et pour controler le resultat rien ne t'empeche de faire le SELECT avant, donc
    select tel,concat('052',substr(tel,3,50)) where tel like '02%';

    Tu recevras 2 colonnes la premiere avec le tel de la db et la 2 le nouveau numero.

    Mais je serais toi je ferais un backup avant, car si tu te plantes dans l'update tu petes ta DB.

    PS : le 50 est pour mettre un chiffre assez grand, plus grand que ton champ tel pour ne rien perdre.

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 20
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par chromo Voir le message
    Si je me base sur ton exemple de SQL voici une solution

    UPDATE annuaire SET tel = concat('052',substr(tel, ,3,50)) where tel like '02%';
    Chrome c'est exactement ce que je cherchais

    Je te remercie infiniment

    voilà ce que j'ai mis ,

    -- Remplacer le +212 par 0 --
    UPDATE annuaire SET tel = concat('0',substr(tel,5,50)) where tel like '+212%';


    -- Remplacer le 212 par 0 --
    UPDATE annuaire SET tel = concat('0',substr(tel,4,50)) where tel like '212%';



    ------------ Fixe : 02 et 03 -----------------

    -- Remplacer le 02 par 052 --
    UPDATE annuaire SET tel = concat('052',substr(tel,3,50)) where tel like '02%';


    -- Remplacer le 03 par 053 --
    UPDATE annuaire SET tel = concat('053',substr(tel,3,50)) where tel like '03%';




    ---- Mobile : 01, 04, 05, 06, 07 ----

    -- Remplacer le 06 par 066 --
    UPDATE annuaire SET tel = concat('066',substr(tel,3,50)) where tel like '06%';


Discussions similaires

  1. Réponses: 4
    Dernier message: 02/06/2015, 02h28
  2. Créer .bat pour mise à jour de mon antivirus
    Par ardamus dans le forum Windows
    Réponses: 1
    Dernier message: 17/02/2006, 11h41
  3. [VB6] Code pour Mise à jour automatique
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 45
    Dernier message: 10/02/2006, 18h05
  4. fonction pour le jour de la semaine
    Par savoir dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/06/2005, 18h24
  5. Utilisation de CASCADE pour mise à jour
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2004, 08h49

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