Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Web Development » Chèn thông tin tỷ giá và giá vàng vào Website

Chèn thông tin tỷ giá và giá vàng vào Website

Thứ Hai, 15/09/2014 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Làm sao để lấy thông tin tỷ giá của ngân hàng Vietcombank và các ngân hàng khác. Mình vừa đọc trên mạng hướng dẫn cách lấy thông tin tỷ giá của Vietcombank, hôm nay xin chia sẻ với các bạn.
Vietcombank cung cấp file XML chứa thông tin tỷ giá nhờ đó mà chúng ta có thể nhúng vào website sử dụng mã đọc XML.

Lấy thông tin tỷ giá của VCB

Truy cập vào địa chỉ: http://vietcombank.com.vn/ExchangeRates/ExrateXML.aspx.
Đây là đường dẫn file xml chứa thông tin tỷ giá ngoại tệ của vietcombank.com.vn.
Công việc còn lại của chúng ta là sử lý dữ liệu file XML và hiển thị ra ngoài. Có nhiều cách đọc XML bằng PHP, cách sau đây bạn có thể tham khảo:

Tải nội dung file http://vietcombank.com.vn/ExchangeRates/ExrateXML.aspx và lưu vào file trên hosting, phòng trường hợp không kết nối được vào địa chỉ này thì sẽ lấy nội dung của file XML mới nhất.

$Link = $Link2 = '';
$dir='cache/';
if(!is_dir($dir)) mkdir($dir,0755,true);
$Link = $dir.'ExchangeRates.xml';
$Link2 = 'http://vietcombank.com.vn/ExchangeRates/ExrateXML.aspx';
$content = @file_get_contents($Link2);
if($content==''){
  $content = @file_get_contents($Link);
}else{
  copy($Link2,$Link);
} 

Các bạn có thể đọc XML sử dụng XML parser trong PHP hoặc đơn giản hơn chúng ta sử dụng regular expression. Vì cấu trúc nội dung của file xml ExchangeRates cũng đơn giản. Sau đó Lưu thông tin lấy được vào mảng 2 chiều như sau.

if($content!='' and preg_match_all('/Exrate CurrencyCode="(.*)" CurrencyName="(.*)" Buy="(.*)" Transfer="(.*)" Sell="(.*)"/',$content,$matches) and count($matches)>0){

  $exchange_rates=array(

  'USD'=>array()

  ,'EUR'=>array()

  ,'GBP'=>array()

  ,'HKD'=>array()

  ,'JPY'=>array()

  ,'CHF'=>array()

  ,'AUD'=>array()

  ,'CAD'=>array()

  ,'SGD'=>array()

  ,'THB'=>array()

  );

  foreach($matches[1] as $key=>$value){

  if(isset($exchange_rates[$value])){

  $exchange_rates[$value]=array(

  'id'=>$value

  ,'name'=>$matches[2][$key]

  ,'buy'=>$matches[3][$key]

  ,'transfer'=>$matches[4][$key]

  ,'sell'=>$matches[5][$key]

  );

  }

  }
}

Cuối cùng đưa tất cả đoạn code lấy tỷ giá ở trên vào hàm.

function getExchangeRatesVCB(){
	$Link = $Link2 = '';
	$dir='cache/';
	if(!is_dir($dir)) mkdir($dir,0755,true);
	$Link = $dir.'ExchangeRates.xml';
	$Link2 = 'http://vietcombank.com.vn/ExchangeRates/ExrateXML.aspx';
	$content = @file_get_contents($Link2);
	if($content==''){
	  $content = @file_get_contents($Link);
	}else{
	  copy($Link2,$Link);
	} 

	if($content!='' and preg_match_all('/Exrate CurrencyCode="(.*)" CurrencyName="(.*)" Buy="(.*)" Transfer="(.*)" Sell="(.*)"/',$content,$matches) and count($matches)>0){
	  $exchange_rates=array(
	  'USD'=>array()
	  ,'EUR'=>array()
	  ,'GBP'=>array()
	  ,'HKD'=>array()
	  ,'JPY'=>array()
	  ,'CHF'=>array()
	  ,'AUD'=>array()
	  ,'CAD'=>array()
	  ,'SGD'=>array()
	  ,'THB'=>array()
	  );
	  foreach($matches[1] as $key=>$value){
	  if(isset($exchange_rates[$value])){
	  $exchange_rates[$value]=array(
	  'id'=>$value
	  ,'name'=>$matches[2][$key]
	  ,'buy'=>$matches[3][$key]
	  ,'transfer'=>$matches[4][$key]
	  ,'sell'=>$matches[5][$key]
	  );
	  }
	  }
	  Return $exchange_rates;
	}
}

Sử dụng
In thông tin tỷ giá của VCB ra bảng.

<?php
$data=getExchangeRatesVCB();
?>
<table border="1">
	<tr>
		<td>Mã NT</td>
		<td>Tên ngoại tệ</td>
		<td>Mua tiền mặt</td>
		<td>Mua chuyển khoản</td>
		<td>Bán</td>
	</tr>
<?php
foreach($data as $id=>$item){
	?>
	<tr>
		<td><?php echo $id?></td>
		<td><?php echo $item['name']?></td>
		<td><?php echo $item['buy']?></td>
		<td><?php echo $item['transfer']?></td>
		<td><?php echo $item['sell']?></td>
	</tr>
	<?php
}
?>
</table>

Kết quả:
thông tin tỷ giá vcb

LẤY GIÁ VÀNG TỪ SJC.COM.VN

Tỷ giá vàng, cung cấp tại địa chỉ XML: http://www.sjc.com.vn/xml/tygiavang.xml.

Đây là đường dẫn file xml chứa thông tin giá vàng của sjc.com.vn. Cũng giống như cách lấy thông tin tỷ giá ở phần trước. Ở đây mình sử dụng hàm simplexml_load_string đọc cấu trúc giá vàng từ sjc.com.vn sẽ dễ hơn.

function tygiavang(){
	$Link = $Link2 = '';
	$dir='cache/';
	if(!is_dir($dir)) mkdir($dir,0755,true);
	$Link = $dir.'tygiavang.xml';
	$Link2 = 'http://www.sjc.com.vn/xml/tygiavang.xml';
	$content = @file_get_contents($Link2);
	if($content==''){
	  $content = @file_get_contents($Link);
	}else{
	  copy($Link2,$Link);
	} 
	$xml=simplexml_load_string($content);
	return $xml;
}

In thông tin giá vàng ra thẻ table.

<?php
$data=tygiavang();
?>
<table border="1">
	<tr bgcolor="yellow">
		<td>Thành phố</td>
		<td>Type</td>
		<td>Sell</td>
		<td>Buy</td>
		
	</tr>
<?php
foreach($data->ratelist->city as $item){
?>
	<tr>
		<td <?php if(count($item->item)>1){?>rowspan="<?php echo count($item->item)+1?>" <?php }?>><?php echo (string)$item['name']?></td>
		<?php 
		$first=reset($item->item);
		next($item);
		?>
		<td><?php echo (string)$first['type']?></td>
		<td><?php echo (string)$first['sell']?></td>
		<td><?php echo (string)$first['buy']?></td>
	</tr>
	<?php
	if(count($item->item)>1){
		foreach($item->item as $t){
	?>
		<tr>
			<td><?php echo (string)$t['type']?></td>
			<td><?php echo (string)$t['sell']?></td>
			<td><?php echo (string)$t['buy']?></td>
		</tr>
	<?php
		}
	}
	?>
<?php
}
?>
</table>

Kết quả:
ty-gia-vang-sjc
Tỷ giá và giá vàng thường đi kèm với thông tin về thời tiết, nếu muốn lấy thông tin thời tiết từ yahoo các bạn có thể tham khảo bài http://minhtc.net/lay-thong-tin-thoi-tiet-tu-yahoo.html

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: Web Development Tìm kiếm: thông tin giá vàng, thông tin tỷ giá

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.