使用Javascript和PHP在提示消息中显示值

时间:2013-08-26 11:17:06

标签: php javascript jquery

我是使用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的所有数据。有办法吗?我已经搜索到谷歌,但找不到任何问题的答案。

提前致谢。

1 个答案:

答案 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版本。只从数据库中提取所需的数据。


对于伪代码感到抱歉,但是如果我用完整的语法完全写下所有内容,那么在我的午餐时间写它会花费太长时间;)