-3

PHPでJAVASCRIPTを使用する初心者です。私は自分の問題を解決するのを手伝ってくれる人が必要です。

シナリオ:

テーブル名"tbldata"があります。

私のデータベースでは、以下は tbldata のデータです。

fldBldgName      fldPlaylist
Bldg 1            playlist1
Bldg 1            playlist2
Bldg 1            playlist3
Bldg 2            playlist4

fldBldgNameのすべてのデータをチェックボックス付きで表示するフォームがあります。次に、 Bldg 1のチェックボックスをオンにして[View Playlist ] ボタンをクリックすると、javascript またはプロンプト メッセージを使用して、bldg1 のすべての fldplaylist が表示されます。

要約:

OKAYボタンのみのjavascriptを使用して、1号館または他のビルのすべてのデータをプロンプトメッセージに表示したい。これに方法はありますか?私はすでにグーグルで検索していますが、私の問題に対する答えが見つかりません。

前もって感謝します。

4

1 に答える 1

0

これには2 つの方法があります。


1. これを行うには、サーバー上で php を使用して JavaScript を生成します。 小さな例:

PHP (疑似コード)

$sql = // ... (your SQL query);
$list = // ... (your result objects from SQL);

// Build a html of your received items you want to show
$html = '<div id="playlists">';
foreach(listitem in list)
{
    $html .= '<div onclick="alert(\''.listitem->getBldgData().'\'">'.listitem->getTitle().'</div>';
}
$html .= '</div>';

この可能性は非常に単純ですが、クライアント側で表示する前に必要なものをすべてロードする必要があります。また、リストが大きくなり、リストに listitems データが含まれる可能性がある場合、非常に多くのリソースが必要になります。このスタイルの使用はお勧めしません。


2. プレイリストのリストを生成するだけでこれを行い、特定のプレイリストをクリックするたびに、サーバーからの ajax リクエストでビルをロードします。

サイトのPHP(疑似コード)

$sql = // ... (your SQL query);
$list = // ... (your result objects from SQL);

// Build a html of your received items you want to show
$html = '<div id="playlists">';
foreach(listitem in list)
{
    $html .= '<div onclick="getBldgData(\''.listitem->getId().'\')">'.listitem->getTitle().'</div>';
}
$html .= '</div>';

JavaScript/AJAX (疑似コード)

より良い ajax 呼び出し処理のためにjQueryライブラリを含めます。

function getBldgData(id){
   $.ajax("yourUrl/PathTo/PHPWebService", { data: id })
     .success(function(data){
        // do something with the received BldgData from the webservice (JSON)
     })
     .error(function(err){
        // message box with the error
        alert(err);
   });
};

Web サービス用の PHP(疑似コード)

$id = $_GET['data'];
  $sql = ... // SQL Statement to get the Bldg data for this Playlist (Id);
  $BldgData = ... // received data;

  $formatBldgDataAsJSON = ... // do something to transform data which should be proceeded on client side.

  echo $formatBldgDataAsJSON;

2 番目の AJAX バージョンの使用を再開します。必要なデータのみがデータベースから取得されます。


疑似コードで申し訳ありませんが、すべてを正しい構文で完全に書き留めると、昼食中に書くのに時間がかかりすぎます;)

于 2013-08-26T11:34:38.750 に答える