我是使用JAVASCRIPT和PHP的新手。我需要有人帮我解决问题。
情境:
我有一个表名“tbldata”。
在我的数据库中,下面是我的tbldata数据。
fldBldgName fldPlaylist
Bldg 1 playlist1
Bldg 1 playlist2
Bldg 1 playlist3
Bldg 2 playlist4
我有一个表单,它会显示带有复选框的 fldBldgName 的所有数据。然后,当我选中 Bldg 1 的复选框时,我点击按钮名称“查看播放列表”,它将使用javascript或提示消息显示bldg1的所有fldplaylist。
摘要:
我想使用带有OKAY按钮的javascript在提示消息中显示 Bldg1 或其他bldg的所有数据。有办法吗?我已经搜索到谷歌,但找不到任何问题的答案。
提前致谢。
答案 0 :(得分:0)
有两种方法可以做到这一点。
<强> 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请求加载bldg。
网站的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(伪代码)
包含jQuery库以获得更好的ajax呼叫处理。
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);
});
};
网络服务的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;
我会重新开始使用第二个AJAX版本。只从数据库中提取所需的数据。
对于伪代码感到抱歉,但是如果我用完整的语法完全写下所有内容,那么在我的午餐时间写它会花费太长时间;)