0

Hi friends

i am working for an shopping cart using php script, i placed a drop down option to display currency rate as per user selection(INR and USD). By default it will display all the price in INR, if any user select USD, then it has to show all the values in USD.I dont know how to display the USD live rates. can any one please help to resove the issue.

5
Contributors
6
Replies
33
Views
4 Years
Discussion Span
Last Post by Sandeep_30
0

You could use a site like this - which has an API. I assume that you'll need an API of some description.

https://openexchangerates.org/

You could get a free account or depending on your traffic, pay something like $12/mo.

Edited by diafol

0

You'll need to use an exchange rate API, then parse/decode the results. Google and Yahoo each have APIs (a quick search should turn up more info), and another resource I found is https://openexchangerates.org/

EDIT: Just saw diafol's response. Sorry, had this tab open for a while before I got to it.

Edited by EvolutionFallen

0

HI Friends

Thanks for your post, with help of your post i got an idea and i used the below free API code

<?php
        $from   = 'USD'; /*change it to your required currencies */
        $to     = 'INR';
        $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X';
        $handle = @fopen($url, 'r');

        if ($handle) 
            {
                $result = fgets($handle, 4096);
                fclose($handle);
            }
        $allData = explode(',',$result); /* Get all the contents to an array */
        $dollarValue = $allData[1];

        echo 'Value of $1 in Indian Rupees is &#x20B9; '.$dollarValue;
?>
0

Thank You. Its Working, I have little change on it....

<?php

$_POST['amount']="35.00";
$_POST['from']="INR";
$_POST['to']="USD";

$amount = urlencode($_POST['amount']);
$from_Currency = urlencode($_POST['from']);
$to_Currency = urlencode($_POST['to']);

$url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from_Currency . $to_Currency .'=X';
$handle = @fopen($url, 'r');
if ($handle) 
{
    $result = fgets($handle, 4096);
    fclose($handle);

    $allData = explode(',',$result); /* Get all the contents to an array */
    $dollarValue = $allData[1]*$amount;
    echo  round($dollarValue , 2);
}
else{
    echo "ERROR";
}

?>
0

I got error "It has come to our attention that this service is being used in violation of the Yahoo Terms of Service. As such, the service is being discontinued. For all future markets and equities data research, please refer to finance.yahoo.com." after 2-3 weaks of using this code.
Please advice some another working yahoo api.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.