3

みなさん、こんにちは。データベースから情報を取得して、サイドバーガジェット
に表示したいと思います(私はガジェットコーディングの初心者です)。私はそれをするために多くの方法を試みましたが、私はまだ成功しませんでした。 この目的のために、(サーバー上の)データベースからいくつかの値を取得するためのphpファイルを準備しました。このphpファイルのコンテンツ(結果)を取得したいと思います。

視覚的な理由からiframeは使いたくありません。

実際、私はそれを行うために任意の方法に従うことができます。そのような;
データベースから直接データを取得する(セキュリティの問題がある)、phpから指定されたテキストを取得する(特別なdivに配置される値)、またはPHPのすべてのコンテンツを取得し、GET、POSTメソッド、またはそれが何であれ、サイドバーにスタイリングする:)
ありがとうございます今...

:私は(セミプロフェッショナルな)PHP、JavaScript、CSSを知っていますが、C#、VBなどを知りません。

4

1 に答える 1

1

データにアクセスする方法はいくつかあります。1つは、データベースに接続できるWindowsに組み込まれたCOMオブジェクトであるADOを直接使用することです。この方法にはいくつかの欠点がありますが、最も重要なのは、安全性が低いことです。データベースのユーザー名とパスワードは、誰でも見ることができるように、ガジェットのスクリプトファイルにプレーンテキストで保存する必要があります。これは、制限された権限が設定されていればそれほど悪くはありません。

ほとんどの開発者は、PHPと。の組み合わせを使用しますXMLHttpRequest()。あなたが提案したように、PHPは要求に応じてデータベースからデータをフェッチします。XMLHttpRequestは、ページのコンテンツをフェッチするために使用されるものです。決定する必要があるのは、データを出力する形式だけです。XML、JSON、またはその他。XMLとJSONはガジェットで解析できるため、どちらかを選択することをお勧めします。PHP 5.2以降を実行している場合、JSONサポートはネイティブです。データベースから連想配列としてデータを取得し、それを取得して結果を出力するのは簡単json_encodeです。

XMLHttpRequestの例

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://mysite.com/test.php", true);
xhr.onreadystatechange = function ()
{
    // readyState 4 = complete, status 200 = HTTP OK
    if (xhr.readyState == 4 && xhr.status == 200)
    {
        parseData(JSON.parse(xhr.responseText)); // parse a JSON response
        // parseData(xhr.responseXML); // parse an XML response
    }
}
xhr.send();

IE8がインストールされているマシンで実行されているガジェットはJSON.parse()、ネイティブに使用できます。IE8より前ではeval()、データを安全なパーサーで実行する必要があります(ほとんどのeval場合、データが有効なJSONであることを確認した後)。

もっと読む:

JavaScriptのXMLHttpRequestオブジェクト(MSDN)
JSON

于 2010-02-01T19:31:14.587 に答える