将变量发送到Bootstrap模式

时间:2013-08-15 15:41:06

标签: php mysql variables twitter-bootstrap

这是我的php函数:

 function displayrecords(){
 $sql = "SELECT * FROM mytable";
 $QueryResult = @mysql_query($sql) or die (mysql_error());
 // more code...

此时,该功能在表格中打印出重新调整的数据:

 echo "<table class='table table-striped table-bordered table-hover'>\n";
 while(($Row = mysql_fetch_assoc($QueryResult)) !== FALSE) {

以下是问题的开始:

 echo "<tr><td><a class=\"open-EditRow btn btn-primary btn-mini\" 
   data-toggle=\"modal\" href=\"myEditModal\" id=\"".$Row[pk_tId]."\" 
   title=\"Edit this row\" \">Delete/Edit</a></td>";

此后还有更多打印的td标签,但问题是将ID转移到模态窗口。有人告诉我这可以用直接的PHP完成,没有javascript或ajax。

这是代码在模式中的样子:

 <div class="modal hide fade" id="myEditModal" tabindex="-1" role="dialog" 
  aria-labelleby="myModalLabel" aria-hidden="true">
 <div class="modal-body">
 <?php
   $id = "<input type=\"text\" name=\"groupId\" id=\"groupId\" value=\"\" />";
   $sql = "SELECT resgroup FROM restable WHERE pk_tId = '" . $id . "'";
   $result = mysql_query($sql);

正如您将注意到的,$sql正在读取$id作为输入标记,因此,它无法在数据库中找到id,因此不会返回任何内容。我知道它从上面回显表中的锚标记开始。

我需要在锚标记中使用$_GET(或POST),但我不知道在哪里放置它。我猜它应该进入id=\"".$Row[pk_tId]."\",但是当php已经被用在那个id中时怎么样?

我是一个视觉人,所以如果你能提供一个例子,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

你需要一些javascript来操作你的模态取决于你点击了哪个按钮。我认为这个解决方案会对你有帮助。

首先,我认为你的模态中有一个表单,你将用你选择的id提交它。模态体应该是这样的:

<div class="modal-body">
  <form action="//your/path/to/php" method="post">
    <input type="hidden" name="selected_id" id="selected_id" />
    <input type="submit" name="commit" value="Confirm your action?" />
  </form>
</div>

其次,我认为你应该从你的按钮中移除data-toggle属性,添加另一个data-*属性来保存你的id并使用显式的javascript调用来显示你的模态更新一点

按钮应该像这样回显

echo "<tr><td><a class=\"open-EditRow btn btn-primary btn-mini\" data-id=\"".$Row[pk_tId]."\" title=\"Edit this row\" \">Delete/Edit</a></td>";

javascipt

$('.open-EditRow').click(function(){
   var selected_id = $(this).attr('data-id');
   $('#myEditModal #selected_id').val(selected_id);
   $('#myEditModal').modal('show');
});

现在,在模态中的表单内声明的php文件中 - 接收你的帖子数据,你可以var_dump $_POST