0

現在、SQL クエリによって生成されたテーブルがあります。ページへの URL は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' というクエリが必要です。

誰かが私を助けることができるなら、してください。また、必要な情報があれば追記します。ありがとう。

4

2 に答える 2

0

私が頻繁に使用する方法ではありませんが、openDialog() 呼び出しの URL に section_id を含める必要があると思います。例えば

echo "<button class='element' onclick='javascript:openDialog(\"myurl.php?sectionid=${sectionid}\");'>Details</button>";

次に、以下を含めることができます。

$sectionid=$_GET["sectionid"];

モーダル ウィンドウ スクリプトの上部にあります。

何か助けはありますか?

于 2013-06-18T22:40:13.117 に答える
0

正しいプロセスの代替方法と同様に、いくつかの簡単な修正方法があります (ただし、明らかに長い方法です) 1. functions.php で関数を作成し、そこのモーダル ウィンドウにコードを追加します。

  1. 「詳細」リンクをクリックすると、AJAX を使用してこの関数を呼び出します (admin-ajax.php を使用します)。

  2. メソッドから文字列として表示する HTML を返し、モーダル ウィンドウに表示します。

詳細やサポートが必要な場合はお知らせください。

于 2013-06-19T13:51:29.030 に答える