TOP > ウェブとコンピュータ関連 > PHP, Javascript > 別サーバのDBのデータを表示させるには…メモ

« オーラのない男 | メイン | iPhone、iPod touchに対応・・・だから何? »

別サーバのDBのデータを表示させるには…メモ

別サーバのデータベースからデータを取り出し、それを表示させる方法。(PHP)
※別サーバにFTPでアクセスできるのが前提です。
iframe使えば簡単なんだけど…使えない場合、使いたくない場合。

あんまりこういうシチュエーションはないかと思うけど…

別サーバのDBからデータを取得。
SELECT文とか使って取得したデータを、
echo文で表示させます。(A.php

当サーバの「B.php
readfile関数にて、A.phpを読み込み表示。
<?php
header("Content-type:text/html; charset=shift_jis");
$url = "別サーバのA.php";
readfile($url);
?>

PHP良く知ってる人ならもっと効率的な方法あるんだろうけど…


PHPファイルでなく、普通のHTMLにDBの情報を載せたいので、
AJAXを使う・・・prototype.jsを読み込んだ上で、

function loadHTMLFile(fName)
{
new Ajax.Request(fName, { method: "get", onComplete: displayData });
}
function displayData(httpObj)
{
$("表示させたい場所のdivタグのid名").innerHTML = httpObj.responseText;
}

// PHPファイルの呼び出し
function price(){       ・・・priceと言う名のユーザ定義関数
loadHTMLFile('B.php');
}

IFRAMEタグを使えば簡単なんだろうけど、なんだかレイアウト制御が面倒かも…
この方法でも、AJAXでソースは表示されないから、SEOを求める場面には使えない。

※PHP5.2以上から外部ドメインのincludeができないんですね。
デフォルトで「allow_url_include」が「OFF」なんだそうです。(セキュリティ対策らしい)
だから、B.phpでは、「include」ではなく、「readfile」を使ってます。

コメントを投稿

About

2009年02月22日 21:30に投稿されたエントリのページです。

ひとつ前の投稿は「オーラのない男」です。

次の投稿は「iPhone、iPod touchに対応・・・だから何?」です。

他にも多くのエントリがあります。メインページアーカイブページも見てください。

Powered by
Movable Type