0

这是我的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 中使用时如何?

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

4

1 回答 1

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.

于 2013-08-15T16:03:23.233 回答