php - 将 MySQL 数据导入到单个 Bootstrap 模态框中?

标签 php jquery twitter-bootstrap modal-dialog

我的最后一个问题取得了巨大的成功,我想我会尝试另一个。

我正在为我工​​作的公司(一家打印厂)构建一个“仪表板”。该仪表板将列出当前所有正在进行的工作、已完成的工作等(这确实会让每个人的生活变得更好)。

我使用 PHP 查询从 MySQL 数据库中提取所有客户信息,并使用 PHP while 循环将其显示到数据表中。我在每行末尾都有一个编辑按钮,用于打开一个模态框,显示并允许打印机输入信息并更新数据库。

这是有效的,但我开始思考...只有少数客户插入时一切都很好,但是一旦我们有 1,000 多个客户,每个客户都有一个模态框(来自 PHP while 循环),它将变得势不可挡。

如果可能的话,任何人都可以向我解释一下,在页面上有一个模态框代码,当单击链接并启动该框时,该代码会将准确的客户数据拉入其中。

启动模态框的按钮(这是在 PHP while 循环中):

<a class=\"btn btn-info\" data-toggle=\"modal\" data-target=\"#modal_id\"
href=\"display=" . $row['id'] . "\">
<i class=\"icon-question-sign icon-white\"></i>  
</a>

模态代码本身(不在 PHP while 循环中):

<div class="modal hide fade" id="modal_id">
   <div class="modal-header">
       <button type="button" class="close" data-dismiss="modal">×</button>
       <h3>Project Details</h3>
   </div>
   <div class="modal-body">

       ID is <?php echo $display ?>

   </div>
   <div class="modal-footer">
       <a href="#" class="btn btn-primary" data-dismiss="modal">Save Changes</a>
       <a href="#" class="btn" data-dismiss="modal">Close</a>
   </div>
</div>

里面的文字是:ID是 该变量未通过按钮 href 传递。

有什么解决办法吗?

最佳答案

我想说最直接的方法是 AJAX。

  1. 创建一个端点,您可以向其传递 ID,该端点将显示相关项目信息(例如 yoursite/projects/5 将返回有关 ID 为 5 的项目的数据)
  2. 使用 AJAX 将 ID 发送到该端点并检索用户数据
  3. 在显示数据时将其放入模式中。

更改按钮的链接

<button class="project-button btn btn-info" data-toggle="modal" data-target="#modal_id" data-project-id="<?=$row['id']?>">
  <i class="icon-question-sign icon-white"></i>  
</button>

AJAX 调用示例

var modal_body = $('#modal_id .modal-body');
$('.project_button').on('click', function() {
  var project_id = $(this).data('projectId');
  $.get('/project/', { id: project_id }, function(data) {
    // Populate modal
    modal_body.html(data);
  }
}

显然,您需要创建另一个页面来创建将返回并显示的 html。您还可以执行其他操作,例如在数据加载到模式中时显示加载动画。但这对您来说应该是一个很好的起点。

关于php - 将 MySQL 数据导入到单个 Bootstrap 模态框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15399477/

相关文章:

php - Laravel 5.0 多认证

php - 保持 CakePHP 3 应用框架为最新

PHP : multiple inputs into other multiple inputs

javascript - 当轮播 slider 更改其 'active' 状态时,jquery 更改 <section> 的背景图像

javascript - 如何通过 Bootstrap ContextMenu 的右键单击事件获取像 "invokedOn"文本这样的 id?

php - htaccess 重定向到另一个目录

php - MYSQL表结构

jquery - 轮播/幻灯片仅在移动设备上

php - 我如何在ajax请求中传递使用fileopen对话框加载的文件

javascript - 导航栏中的搜索栏在 Google Chrome 和 Firefox 中看起来不一样