As you may already know, Google has a calculator feature built in their search engine, which can be used to convert measures, currencies, get stock quotes, weather data and many other features. You can see this features explained here .
Why wouldn’t we use it for something useful and build a simple AJAX currency converter using Google currency converter feature? We need some time, jQuery, Google, great music and of course, this tutorial.
So, let’s start. Create new file, call it index.php and make some basic markup for our converter:
[code lang=”html”]
Amount:
From:
Euro – EUR United States Dollars – USD United Kingdom Pounds – GBP Canada Dollars – CAD Australia Dollars – AUD Japan Yen – JPY India Rupees – INR New Zealand Dollars – NZD Switzerland Francs – CHF South Africa Rand – ZAR Algeria Dinars – DZD Argentina Pesos – ARS Australia Dollars – AUD Bahrain Dinars – BHD Brazil Reais – BRL Bulgaria Leva – BGN Canada Dollars – CAD Chile Pesos – CLP China Yuan Renminbi – CNY RMB (China Yuan Renminbi) – CNY Colombia Pesos – COP Costa Rica Colones – CRC Croatia Kuna – HRK Czech Republic Koruny – CZK Denmark Kroner – DKK Dominican Republic Pesos – DOP Egypt Pounds – EGP Estonia Krooni – EEK Euro – EUR Fiji Dollars – FJD Hong Kong Dollars – HKD Hungary Forint – HUF Iceland Kronur – ISK India Rupees – INR Indonesia Rupiahs – IDR Israel New Shekels – ILS Jamaica Dollars – JMD Japan Yen – JPY Jordan Dinars – JOD Kenya Shillings – KES Korea (South) Won – KRW Kuwait Dinars – KWD Lebanon Pounds – LBP Malaysia Ringgits – MYR Mauritius Rupees – MUR Mexico Pesos – MXN Morocco Dirhams – MAD New Zealand Dollars – NZD Norway Kroner – NOK Oman Rials – OMR Pakistan Rupees – PKR Peru Nuevos Soles – PEN Philippines Pesos – PHP Poland Zlotych – PLN Qatar Riyals – QAR Romania New Lei – RON Russia Rubles – RUB Saudi Arabia Riyals – SAR Singapore Dollars – SGD Slovakia Koruny – SKK South Africa Rand – ZAR South Korea Won – KRW Sri Lanka Rupees – LKR Sweden Kronor – SEK Switzerland Francs – CHF Taiwan New Dollars – TWD Thailand Baht – THB Trinidad and Tobago Dollars – TTD Tunisia Dinars – TND Turkey Lira – TRY United Arab Emirates Dirhams – AED United Kingdom Pounds – GBP United States Dollars – USD Venezuela Bolivares – VEB Vietnam Dong – VND Zambia Kwacha – ZMK
To:
United States Dollars – USD United Kingdom Pounds – GBP Canada Dollars – CAD Australia Dollars – AUD Japan Yen – JPY India Rupees – INR New Zealand Dollars – NZD Switzerland Francs – CHF South Africa Rand – ZAR Algeria Dinars – DZD Argentina Pesos – ARS Australia Dollars – AUD Bahrain Dinars – BHD Brazil Reais – BRL Bulgaria Leva – BGN Canada Dollars – CAD Chile Pesos – CLP China Yuan Renminbi – CNY RMB (China Yuan Renminbi) – CNY Colombia Pesos – COP Costa Rica Colones – CRC Croatian Kuna – HRK Czech Republic Koruny – CZK Denmark Kroner – DKK Dominican Republic Pesos – DOP Egypt Pounds – EGP Estonia Krooni – EEK Euro – EUR Fiji Dollars – FJD Hong Kong Dollars – HKD Hungary Forint – HUF Iceland Kronur – ISK India Rupees – INR Indonesia Rupiahs – IDR Israel New Shekels – ILS Jamaica Dollars – JMD Japan Yen – JPY Jordan Dinars – JOD Kenya Shillings – KES Korea (South) Won – KRW Kuwait Dinars – KWD Lebanon Pounds – LBP Malaysia Ringgits – MYR Mauritius Rupees – MUR Mexico Pesos – MXN Morocco Dirhams – MAD New Zealand Dollars – NZD Norway Kroner – NOK Oman Rials – OMR Pakistan Rupees – PKR Peru Nuevos Soles – PEN Philippines Pesos – PHP Poland Zlotych – PLN Qatar Riyals – QAR Romania New Lei – RON Russia Rubles – RUB Saudi Arabia Riyals – SAR Singapore Dollars – SGD Slovakia Koruny – SKK South Africa Rand – ZAR South Korea Won – KRW Sri Lanka Rupees – LKR Sweden Kronor – SEK Switzerland Francs – CHF Taiwan New Dollars – TWD Thailand Baht – THB Trinidad and Tobago Dollars – TTD Tunisia Dinars – TND Turkey Lira – TRY United Arab Emirates Dirhams – AED United Kingdom Pounds – GBP United States Dollars – USD Venezuela Bolivares – VEB Vietnam Dong – VND Zambia Kwacha – ZMK
[/code]
Basically, we have two drop downs with currencies, amount field and a button. Below is a div with id results which will hold our result data.
Now let’s add some jQuery to handle AJAX call and filling result data into our markup:
[code lang=”javascript”]
$(document).ready(function() {
$(‘#submit’).click(function(){
//Get the values
var amount = $(‘#amount’).val();
var from = $(‘#from’).val();
var to = $(‘#to’).val();
var params = “amount=” + amount + “&from=” + from + “&to=” + to;
$.ajax({
type: “POST”,
url: “convert.php”,
data: params,
success: function(data){
$(‘#results’).html(data);
}
});
});
});
[/code]
We are making an ajax call to convert.php and on success filling the data into results div.
And here is convert.php :
[code lang=”php”]
// sanitizing input using built in filter_input available from PHP 5.2
$amount = filter_input(INPUT_POST, ‘amount’, FILTER_VALIDATE_INT);
$from = filter_input(INPUT_POST, ‘from’, FILTER_SANITIZE_SPECIAL_CHARS);
$to = filter_input(INPUT_POST, ‘to’, FILTER_SANITIZE_SPECIAL_CHARS);
// building a parameter string for the query
$encoded_string = urlencode($amount) . urlencode($from) . ‘%3D%3F’ . urlencode($to);
$url = ‘http://www.google.com/ig/calculator?hl=en&q=’ . $encoded_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
$results = curl_exec($ch);
// this is json_decode function if you are having PHP < 5.2.0
// taken from php.net
$comment = false;
$out = '$x=';
for ($i=0; $i
Honest Marketing Tips
Influendo
Luka Peharda
Zoran Jambor