#1 22-05-2006 11:08:41

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Taux de change

Quelqu'un aurait une idée pour parser ce genre de fichier ?

Code:

http://fr.old.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=snl1d1t1c1ohgv&e=.csv

Je voudrais simplement afficher un truc de ce genre :
1 € = 1,27 $

Sinon... si vous connaissez un script php qui m'affiche le même résultat à partir d'un flux de taux de change... je suis preneur wink

Hors ligne

 

#2 23-05-2006 10:44:19

easyguy
Tagglers
Date d'inscription: 04-10-2005
Messages: 761

Re: Taux de change

Bah un début de réponse ...
J'avais installé le script ci dessous sur un site qui n'est plus en ligne. L'exemple ci-dessous avait pour but d'afficher un prix en euros et un prix en francs suisse ... Il te faudra sans doute faire quelques bidouillages, mais rien de bien méchant je pense smile

Code:

<?
// Currency Converter For Websites
// Converts Great British Pounds into Euro's and US Dollars
// ©2004 Daniel Brown www.gmtt.co.uk
/*
This converts Dollars and Euros into British Pounds Sterling.
The array type stores the currency symbol for output
the variable money contains an url from which the currency amount will be extracted.
You can change the value to be converted and the currencys to convert from and to in here
We then parse the results and output the values at the bottom.

To convert from euro to dollars all you have to do is change one of the urls, for example:
$money[0]=file('http://quote.yahoo.com/m5?a=1.99&t=USD&s=EUR');

*/

$type = array( "&euro;", "$"); 
$money[0]=file('http://quote.yahoo.com/m5?a=1&s=CHF&t=EUR&c=0'); // set the value in the url (a=1.99)

for($i=0; $i<sizeof($money); $i++)
{ 
   $money[$i] = join("",$money[$i]); 
   $money[$i] = ereg_replace(".*<table border=1 cellpadding=2 cellspacing=0>",'',$money[$i]); 
   $money[$i] = ereg_replace("</table>.*",'',$money[$i]); 
   $money[$i] = ereg_replace("</b>.*",'',$money[$i]); 
   $money[$i] = ereg_replace(".*<b>",'',$money[$i]); 
   // echo  "".$type[$i]." ".$money[$i]." ";   
   $change = $money[$i];
} 
?>

<?php if ($row_liste_biens['prix']>0)
{$prix22 = number_format($row_liste_biens['prix'],0,',','\''); echo $prix22 ;}
else { echo "Nous contacter" ;} ?>

<?php if ($row_liste_biens['prix']>0)
{ echo ".-&nbsp; CHF" ; }
else { echo " " ;} ?>

@


Trouver un Appartement à Paris ou en région Ile de France. En province :  Immobilier Lyon, ou Immobilier Annecy

Hors ligne

 

#3 23-05-2006 13:21:32

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Taux de change

Marche pas sad

Peut être que Yahoo à protéger le flux... le seul message que j'ai sur la page c'est "nous contacter" hmm

Hors ligne

 

#4 23-05-2006 13:29:46

yeca
Maître du monde
Date d'inscription: 27-09-2005
Messages: 1773
Site web

Re: Taux de change

ce flux peut être intéressant, après faut voir si c'est pas celui d'aujourd'hui seulement

http://www.bank-banque-canada.ca/databa … t/2663.xml

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#5 23-05-2006 13:35:37

easyguy
Tagglers
Date d'inscription: 04-10-2005
Messages: 761

Re: Taux de change

Normal ...
Juste pour être clair :
- As tu déjà construit ta requète pour afficher le prix ?
- Ta requète php doit venir avant le code php de conversion.
- Tu dois bien sûr remplacer $row_liste_biens['prix'] par le nom de ta variablecorrespondante (ton prix par défaut) extraite depuis ta propre base.

@

Derni�re modification par @lexandre (23-05-2006 13:36:10)


Trouver un Appartement à Paris ou en région Ile de France. En province :  Immobilier Lyon, ou Immobilier Annecy

Hors ligne

 

#6 23-05-2006 15:49:29

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Taux de change

Yeca... ton lien ne foctionne pas... c'est peut-être un fichier qui provient d'un cache réactualisé fréquemment.

Alexandre... j'ai pas de requêtes à formuler depuis une bdd. Tu ne m'as pas compris. Je veux simplement affiché le cours du jour d'une monnaie à la suite d'une ligne du genre :

Monnaie : Real - 1 € = 2,40 Real

Comme sur mes pages voyages comme celle-là où j'ai un bouton pour voir le cours du jour : http://www.americas-fr.com/voyages/voyage-bresil.html

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#7 23-05-2006 17:49:40

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Taux de change

Dans le csv que tu as donné ça donne : 

USDEUR=X;USD to EUR;0,7782;5/23/2006;17h55;N/A;N/A;N/A;N/A;N/A

pour récupérer le 0,7782

il faut faire :

<?php
$csv = trim(@implode('', file(http://url.com)));
$table = explode(';',$csv);
echo $table[2];
?>

Hors ligne

 

#8 23-05-2006 18:13:18

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Taux de change

Pas compris neutral

C'est quoi le code complet ? car je vois pas comment placer cette url de barbarbe :

Code:

http://fr.old.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=snl1d1t1c1ohgv&e=.csv

et ton echo... il affiche une table qui sort d'où ? neutral

Hors ligne

 

#9 23-05-2006 18:13:43

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Re: Taux de change

Code:

function recup_devise ($code, $base = 'EUR') { // on met ce que l'on veut à la aplce e $base

$page = file('http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=' . $code .  '&format=CSV&dest=Get+Table&sel_list=' . $base);

    $match = array();

    preg_match('/(.+),(\w{3}),([0-9.]+),([0-9.]+)/i', implode('', $page), $match);

    if (sizeof($match) > 0) {
      return $match[3];
    } else {
      return false;
    }
}

donc tu fais

$taux = recup_devise('USD');

et voila smile

pour www.xe.net remplaces

Code:

$page = file('http://www.oanda.com/convert/fxdaily?value=1&redirected=1&exch=' . $code .  '&format=CSV&dest=Get+Table&sel_list=' . $base);

    $match = array();

preg_match('/(.+),(\w{3}),([0-9.]+),([0-9.]+)/i', implode('', $page), $match);

    if (sizeof($match) > 0) {
      return $match[3];
    } else {
      return false;
    }

par

Code:

$page = file('http://www.xe.net/ucc/convert.cgi?Amount=1&From=' . $from . '&To=' . $to);

    $match = array();

preg_match('/[0-9.]+\s*' . $from . '\s*=\s*([0-9.]+)\s*' . $to . '/', implode('', $page), $match);

    if (sizeof($match) > 0) {
      return $match[1];
    } else {
      return false;
    }

j'ai pas de mérite pour le preg match, je l'ai pompé sur une de mes boutiques par contre je te conseille si ça doit être automatique de faire le test sur 2 serveurs, car si le premier est en panne c bon d'avoir le second qui te donne un résultat

edit : avais pas vu la méthode au dessus, mais làc complet wink

Derni�re modification par Toucouleur (23-05-2006 18:18:08)


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#10 23-05-2006 18:17:24

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Taux de change

Americas a �crit:

Pas compris neutral

C'est quoi le code complet ? car je vois pas comment placer cette url de barbarbe :

Code:

http://fr.old.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=snl1d1t1c1ohgv&e=.csv

et ton echo... il affiche une table qui sort d'où ? neutral

Il est complet le code big_smile l'url tu la mets à la place de url.com

en faite explode sert à mettre dans un tableau (ici nommé $table)  les données entre chaque ";"

Hors ligne

 

#11 23-05-2006 18:22:19

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Taux de change

Rottman... c'est ce que j'ai fait big_smile

Page blanche sad

Toucouleur... pas mal aussi... sur le papier... car j'ai pas compris comment placer ton " $taux = recup_devise('USD'); " pour faire apparaitre les chiffres big_smile

Faut vraiment que je me mette au vert pendant un mois avec un bon bouquin de php moi hmm

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#12 23-05-2006 18:25:55

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Taux de change

marche très bien chez moi

tu as peut etre oublié les guillemets :

<?php
$csv = trim(@implode('', file('http://fr.old.finance.yahoo.com/d/quotes.csv?s=USDEUR=X&f=snl1d1t1c1ohgv&e=.csv')));
$table = explode(';',$csv);
echo $table[2];
?>

Hors ligne

 

#13 23-05-2006 18:32:24

Americas
Survivors
Lieu: Argentine
Date d'inscription: 04-07-2005
Messages: 4603
Site web

Re: Taux de change

oui... c'était ça... les guillemets hmm

T'es super Rottman ! wink
C'est génial smile

Arrêtes de perdre ton temps dans les bouquins... t'es plus utile ici big_smile

Hors ligne

 

#14 23-05-2006 18:34:11

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Taux de change

Ouep le bac là sad j'arrive pas à décrocher du net

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#15 23-05-2006 21:23:33

MagicYoyo
Tagglers
Lieu: Montpellier
Date d'inscription: 04-01-2006
Messages: 2212
Site web

Re: Taux de change

[HS pour Rottman]

Un conseil, programme tes révisions aux heures des épreuves. Tu auras pris l'habitude de l'effort et de la concentration pour le jour J à l'heure H.

Le bac, c'est vraiment un palier qui te permettra d'acceder à plein de formations, maintenant ou beaucoup plus tard. Ca vaut vraiment le coup de t'arracher.
[HS pour Rottman/]

Derni�re modification par MagicYoyo (24-05-2006 07:38:09)


"La forme, c'est le fond qui remonte à la surface." Victor Hugo

Mon blog sur le webmarketing | Mon job

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson