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

Langage PHP Discussion :

Récupérer des données depuis un autre site [Fait]


Sujet :

Langage PHP

  1. #21
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut aide!
    Personne pour m'epauler....c'est impossible!

    le code ne me renvoie rien du tout!

    Je vous renvoie le code utilisé.


    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
    17
    18
    19
    20
    21
     
     
    <?php
    $fp = fopen("http://www.boursorama.com/devises/toutes_devises_usd.phtml/","r");
    while(!feof($fp))
    {
      $page.=fgets($fp, 4096);
    } 
    preg_match_all('@Euro@i',$page,$regs,PREG_SET_ORDER);
    //<td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align="center"><b>1.27420</b></td>
    $i=0;
    foreach($regs as $ligne)
    {
    $i++;
        echo $ligne[1] .':' .$ligne[2];
    }
     
    fclose($fp);
    //zone a recuperer
    //<tr class="L20"> <td><b>Union Européenne</b></td> <td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align="center"><b>1.27420</b></td> <td align="center"><b>22:39 27/10/2006</b></td></tr>
     ?>
    Aidez moi je craque..
    Merci

  2. #22
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut problème de chaîne
    remplace ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $subjects[] = "<td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align="center"><b>";
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $subjects[] = "<td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align=\"center\"><b>";
    ou par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $subjects[] = '<td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align="center"><b>';

  3. #23
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut erreur de ma part
    j'en ai loupé un (center)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $subjects[] = "<td><b>Euro</b></td> <td align=\"center\"><b>EUR</b></td> <td align=\"center\"><b>";

  4. #24
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Voilà un petit test qui renvoi bien la valeur voulu (on peut encore améliorer le masque je pense) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $fp = fopen("http://www.boursorama.com/devises/toutes_devises_usd.phtml/","r");
    while(!feof($fp))
    {
      $page.=fgets($fp, 4096);
    } 
    preg_match('#<b>EUR<\/b>.*<b>([0-9]+\.[0-9]+)<\/b><\/td>#si',$page,$split);
    print_r($split);
    fclose($fp);
    //zone a recuperer
    //<tr class="L20"> <td><b>Union Européenne</b></td> <td><b>Euro</b></td> <td align="center"><b>EUR</b></td> <td align="center"><b>1.27420</b></td> <td align="center"><b>22:39 27/10/2006</b></td></tr>
     
    ?>

  5. #25
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut Ca va mieux mais...
    Merci de votre aide..
    C'est dur à comprendre je trouve!

    Le resultat est :
    Array ( [0] => EUR 1.27420 [1] => 1.27420 )

    Sinon c'est deja bien mais je souhaiterais ne recuperer que le cours de : 1.27420

    Comment faire?

  6. #26
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ben de manière logique tu as à faire à un tableau par conséquent ce qui est affiché c'est le contenu de chaque case de ton tableau.

    A savoir que preg_match envoi un tableau contenant la lgine trouvé plus la recherche.tandis que preg_match_all renvoi un tableau à deux dimensions

  7. #27
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut ok mais..
    Pour le cac 40, clef voir plus haut..le tableau ne s'affichait pas du tout avec la commande preg_match_all..

    comment cela se fait il?

    il doit bien etre posible de n'obtenir que le chiffre (comme pour le cac)..non?

  8. #28
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Que je reprenne : preg_match est une fonction qui renvoit les paramètres suivants :
    • en 0 toute la ligne de recherche si elle est trouvé.
    • en 1 -> max tous les éléments trouvés.
    Donc non tu peux pas, et pour plus d'informations il faudrait que tu vois la doc preg_match d'ailleurs c'est exactement ce qui est dit dans le tuto que je t'ai donné plus haut.

    Si tu veux obtenir que ton chiffre il va falloir utiliser des tonnes de fonctions et elles seront pas des expressions régulières.

    C'est pas ce que tu cherchais à avoir ? la valeau de EUR ?

  9. #29
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut a peu pres
    je cherchais a avoir simplement la valeur en euro pour pouvoir m'en servir comme variable et pouvoir l'envoyer apres dans une table des valeurs (requete sql).

    la avec un tableau cela me semble impossible!

    avec le cac40 (et fonction pregmatch all), cela fonctionnait pourtant..
    comment resoudre le probleme? je ne comprends pas vraiment la difference entre le cac et l'euro...!

    PS : j'ai vu le tuto pour info..

  10. #30
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par cchampion2fr
    .......Non je maintiens c'est vraiment pour effectuer des sauvegardes et presentation de mon club de foot.......
    Désolé ! mais tu n'es pas convaincant en prétextant que c'est la destination de ton projet.
    Si tel était le cas, tu ne bornerais pas à aller faire des tests sur d'autres sites sujet à bcp plus de complexité, notemment dans le traitement de décimales à partir de regex.
    Ben oui, c'est le cas avec des données euronext entr'autres.
    Tu veux te simplifier la tâche ?
    Fais directement tes tests sur ton site de foot puisqu'il n'affiche que des données de résultats ou classements, n'est-ce pas ?
    Ce sera ta meilleure école pour apprendre.

    ps : foutage de gu...... !

  11. #31
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Citation Envoyé par cchampion2fr
    je cherchais a avoir simplement la valeur en euro pour pouvoir m'en servir comme variable et pouvoir l'envoyer apres dans une table des valeurs (requete sql).

    la avec un tableau cela me semble impossible!

    avec le cac40 (et fonction pregmatch all), cela fonctionnait pourtant..
    comment resoudre le probleme? je ne comprends pas vraiment la difference entre le cac et l'euro...!

    PS : j'ai vu le tuto pour info..
    Où est la difficulté ? Tout le monde en utilisant des expressions régulières utilise cette méthode.

    Un simple et c'est réglé

  12. #32
    Débutant
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 62
    Points
    62
    Par défaut Ok
    facile mais pas pour un debutant.. c resolu

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Récupérer des données depuis une BDD sur un serveur de mon site web
    Par kookitanou dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 30/10/2012, 11h52
  2. Récupérer des données depuis MSFlexGrid
    Par MKF1984 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/01/2009, 18h21
  3. [MySQL] récupérer des données depuis une table mysql
    Par godbless dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/10/2008, 14h04
  4. Récupérer des informations d'un autre site web
    Par divad dans le forum Langage
    Réponses: 7
    Dernier message: 01/05/2008, 23h01
  5. Débutant récupérer des données d'un autre programme
    Par yodark dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 03/01/2008, 16h26

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