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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Extraction des infos d'une variable


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut Extraction des infos d'une variable
    Bonjour à tous.
    je développe un site en php. Sur mon site je reçoit des information d'une url qui se présente comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $url="http://www.nomsite.net/page.php?msg=DT00,BV00000,NI0000,NV0000,C10000,C20000,C30000, C40000,C50000,C60000,C70000,C80000,C90000,C100000,C110000,C120000,C130000,C140000,EXP00000000&machin=chose&id=unnumero";
    J'arrive à récupérer les variables (msg, machin... ) en utilisant un $_get[].
    une fois cela fait je veux ensuite extraire le contenu de la variable MSG afin de les enregistre dans ma BDD.
    Je voudrais donc savoir s'il est possible de le faire et par quel moyen.
    Merci d'avance

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $maSerieDeSousvariables = explode(',', $_GET['msg']);

  3. #3
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $maSerieDeSousvariables = explode(',', $_GET['msg']);
    j'ai ajouté le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $maSerieDeSousvariables = substr($_GET['msg'],4,200);
     
    $tableau = print_r(explode(',', $maSerieDeSousvariables));
    et ça me donne le résultats suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [0] => DT00 [1] => BV00000 [2] => NI0000 [3] => NV0000 [4] => C10000 [5] => C20000 [6] => C30000 [7] => C40000 [8] => C50000 [9] => C60000 [10] => C70000 [11] => C80000 [12] => C90000 [13] => C100000 [14] => C110000 [15] => C120000 [16] => C130000 [17] => C140000 [18] => EXP00000000 )
    je veut ensuite extraire les élément du array pour les inserer dans la bdd

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Quelle est la question ?

  5. #5
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Quelle est la question ?
    Ma question c'est comment extraire le contenu suivant?
    Array ( [0] => DT00 [1] => BV00000 [2] => NI0000 [3] => NV0000 [4] => C10000 [5] => C20000 [6] => C30000 [7] => C40000 [8] => C50000 [9] => C60000 [10] => C70000 [11] => C80000 [12] => C90000 [13] => C100000 [14] => C110000 [15] => C120000 [16] => C130000 [17] => C140000 [18] => EXP00000000
    et pouvoir l'inserer dans ma base de données

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    tu fais une boucle avec une requête

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    tu fais une boucle avec une requête
    une boucle comment?
    puis je avoir des indications?
    SVP

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par symtech Voir le message
    une boucle comment?
    puis je avoir des indications?
    SVP
    quelle serait t'as requête pour insérer juste 1 valeur dans ta base ?

  9. #9
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    quelle serait t'as requête pour insérer juste 1 valeur dans ta base ?
    un truc du genre:
    $query=mysql_query("INSERT INTO ma_table (DT, BV, NI, NV, C1, C2, .....C14) VALUES ('00','','','','....'))";

  10. #10
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    je veux pas te faire faire une refonte de ton code mais typiquement une utilisation de PDO avec prepare serait une bonne option ici.

    Quoi qu'il en soit, il faut comme dit précédemment que tu boucles sur ton tableau de valeurs comme ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach($valeurs as $valeur){
       mysql_query(...);
    }

    Où $valeurs est ton tableau est $valeur est l'occurence de ton tableau lue

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    par contre va falloir re manimulaier ton tableau, si je comprend bien

    tu reçois : DT00

    DT c'est le nom du champs
    00 c'est la valeur
    ?

  12. #12
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    par contre va falloir re manimulaier ton tableau, si je comprend bien

    tu reçois : DT00

    DT c'est le nom du champs
    00 c'est la valeur
    ?
    oui c'est exactement ça. je suis vraiment embarrasser et je sais pas du tout comment le faire

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ta variable elle sort d'ou ? (un textarea ?)

  14. #14
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    ta variable elle sort d'ou ? (un textarea ?)
    je la reçoit par une url ($_get[])

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par symtech Voir le message
    je la reçoit par une url ($_get[])
    oui mais qui envoie l'url ? pourquoi c'est de cette forme la ?

  16. #16
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    oui mais qui envoie l'url ? pourquoi c'est de cette forme la ?
    OK. Je pense que j'aurai du commencer par là. Je vous expliquer le proceder.
    Nous avons un fournisseur de services sms via le web.
    Il nous donne la possiblité de recevoir des sms dans notre compte (pour un besoin spécifique). Donc le format du message envoyé a un numero au fournisseur est:
    DT00,BV00000,NI0000,NV0000,C10000,C20000,C30000, C40000,C50000,C60000,C70000,C80000,C90000,C100000,C110000,C120000,C130000,C140000,EXP00000000
    le fournisseur recupère tous ces élément dans une variable (msg) et le retransmet vers l'url ce qui donne:
    http://www.monsite.net/page.php?msg=...,C20000,C30000, C40000,C50000,C60000,C70000,C80000,C90000,C100000,C110000,C120000,C130000,C140000,EXP00000000
    et nous devons a notre niveau extraire le contenu de la variable "msg" et l'inserer dans la bdd pour une utilisation.
    c'est un peu ça le tralala.
    bon je sais si possible de le faire.
    un fois de plus je m'excuse de ne pas exposer le problème dès le début.
    merci

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    non on t'inquiète pas c'était pour savoir si c'etait de ton coté, mais visiblement non, donc pas trop le choix. Mais bouge pas je vais te faire un truc

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    hop

    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
    $str = 'DT00,BV00000,NI0000,NV0000,C10000,C20000,C30000, C40000,C50000,C60000,C70000,C80000,C90000,C100000,C110000,C120000,C130000,C140000,EXP00000000';
    $cols = array('DT','BV','NI','NV','C1','C2','C3','C4','C5','C6','C7','C8','C9','C10','C11','C12','C13','C14','EXP');
    $pattern = "/(".implode('|', $cols).")(\d+)/";
     
    preg_match_all($pattern, $str, $matches);
    $data = array_combine($matches[1], $matches[2]);
     
    foreach($data as $col => $val)
    {
        $values[] = sprintf("`%s`='%s'", $col, $val);
    }
     
    $set =  implode(', ', $values);
    $sql = "INSERT INTO `ma_table` SET $set";
     
    echo $sql;
    au niveau du $cols il faut faire une requête mysql pour récupèrer les colonnes, et remplir l'array

  19. #19
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    hop

    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
    $str = 'DT00,BV00000,NI0000,NV0000,C10000,C20000,C30000, C40000,C50000,C60000,C70000,C80000,C90000,C100000,C110000,C120000,C130000,C140000,EXP00000000';
    $cols = array('DT','BV','NI','NV','C1','C2','C3','C4','C5','C6','C7','C8','C9','C10','C11','C12','C13','C14','EXP');
    $pattern = "/(".implode('|', $cols).")(\d+)/";
     
    preg_match_all($pattern, $str, $matches);
    $data = array_combine($matches[1], $matches[2]);
     
    foreach($data as $col => $val)
    {
        $values[] = sprintf("`%s`='%s'", $col, $val);
    }
     
    $set =  implode(', ', $values);
    $sql = "INSERT INTO `ma_table` SET $set";
     
    echo $sql;
    au niveau du $cols il faut faire une requête mysql pour récupèrer les colonnes, et remplir l'array

    OK MILLE MERCI.
    en ajoutant un
    mysql_query($sql) or die (mysql_error());
    apres la ligne
    $sql = "INSERT INTO `ma_table` SET $set";
    J'ARRIVVE A INSERER LES DONNEES DANS LA BDD.
    VRAIMENT JE VOUS REMERCIE INFINIMENT.
    BONNE SOIREE.

Discussions similaires

  1. Récupérer des infos d'une variable
    Par pc75 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/02/2013, 09h04
  2. Récupérer des infos par une variable session
    Par nebil dans le forum Langage
    Réponses: 4
    Dernier message: 03/09/2006, 23h02
  3. [MySQL] Chercher des info dans une DB, et les afficher en lien
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2005, 19h29
  4. Obtenir des infos sur une page web en ligne
    Par Logan_Cale dans le forum Web & réseau
    Réponses: 1
    Dernier message: 20/08/2005, 15h36

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