これには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 バージョンの使用を再開します。必要なデータのみがデータベースから取得されます。
疑似コードで申し訳ありませんが、すべてを正しい構文で完全に書き留めると、昼食中に書くのに時間がかかりすぎます;)