从SQL动态生成的表中获取单个值,并在Wordpress中的另一个表中使用它

时间:2013-06-18 22:04:08

标签: php sql wordpress

我目前有一个由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对应于它所在表的行'

如果有人可以帮助我,请做。如果你需要,我会发布更多信息。谢谢。

2 个答案:

答案 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中创建一个函数,并将代码添加到那里的模态窗口。

  1. 单击“详细信息”链接使用AJAX调用此函数(使用admin-ajax.php)

  2. 返回HTML以从方法显示为字符串并在模态窗口中显示。

  3. 如果需要进一步的细节或帮助,请告诉我。