我目前有一个由sql查询生成的表。该网页的网址为http://skunkboxstudios.com/dev/ofa-courses/
在表格中,每行上都有一个按钮,显示一个模态窗口,显示其所在行的更多详细信息。如何告诉模态窗口仅选择有关其所在行的信息。
以下是页面上表格的代码:
global $wpdb;
$courses = $wpdb->get_results("SELECT * FROM section_view;");
$results = array();
echo "<table>";
echo "<tr>";
echo "<th>Section Name</th>";
echo "<th>Section Description</th>";
echo "<th>Start Date</th>";
echo "<th>End Date</th>";
echo "<th>Location</th>";
echo "<th>Details</th>";
echo "</tr>";
foreach($courses as $course){
$sectionname = "$course->section_name";
$sectiondescription = "$course->section_description";
$sectionstartdate = "$course->term_startdate";
$sectionenddate = "$course->term_enddate";
$sectionlocation= "$course->location_name";
$sectionid = "$course->section_id";
echo "<tr>";
echo "<td>$sectionname</td>";
echo "<td>$sectiondescription</td>";
echo "<td>$sectionstartdate</td>";
echo "<td>$sectionenddate</td>";
echo "<td>$sectionlocation</td>";
echo "<td>$sectionid</td>";
echo "<td>";
echo "<button class='element' onclick='javascript:openDialog();'>Details</button>";
echo "</td>";
echo "</tr>";
}
echo "</table>";
模态窗口的代码在这里:
$details = $wpdb->get_results(
"SELECT * FROM section_view WHERE section_id = '$sectionid';");
foreach($details as $detail){
echo "<h2>".$detail->section_name."</h2>";
echo "<table>";
echo "<tr>";
echo "<td>".$detail->section_name."</td>";
echo "<td>".$detail->section_description."</td>";
echo "</tr>";
echo "</table>";
}
echo "<button class='element' onclick='javascript:closeDialog();'>Close</button>";
所以我需要在模态窗口中查询SELECT * FROM section_view WHERE section_id ='section_id对应于它所在表的行'
如果有人可以帮助我,请做。如果你需要,我会发布更多信息。谢谢。
答案 0 :(得分:0)
不是我经常使用的方法,但我认为您需要在openDialog()调用的URL中包含section_id。例如
echo "<button class='element' onclick='javascript:openDialog(\"myurl.php?sectionid=${sectionid}\");'>Details</button>";
然后你可以包括:
$sectionid=$_GET["sectionid"];
位于模态窗口脚本的顶部。
任何帮助?
答案 1 :(得分:0)
还有一些快速解决方法以及正确处理的替代方法(但显然很长) 1.在functions.php中创建一个函数,并将代码添加到那里的模态窗口。
单击“详细信息”链接使用AJAX调用此函数(使用admin-ajax.php)
返回HTML以从方法显示为字符串并在模态窗口中显示。
如果需要进一步的细节或帮助,请告诉我。