我有三个表:学习者,会话和注册。请参见下面的关系图片:
现在要说明我是如何设置的:我正在使用DataTables进行会话,在一次会话的记录点击中,我会弹出一个带有其所有记录详细信息的弹出窗口-我使用了以下内容。加上对此的进一步说明,我不使用Ajax,仅使用 html , php , mysql 和 js 与数据库交互:
脚本:
$('#table_id tbody').on('click', 'tr', function () {
var data = dataTable.row( this ).data();
modal.style.display = "block";
$('#Course').html(data[1]);
$('#Begin').html(data[2]);
$('#End').html(data[3]);
$('#Location').html(data[4]);
$('#Trainer').html(data[5]);
$('#Type').html(data[6]);
});
HTML
<!--Fetch session prints here-->
<p id="Course"><span id="Course"></p>
<p id="sess_desc">
<b>Offered: </b><span id="Begin"></span> to <span id="End"></span><br />
<b>Location: </b><span id="Location"></span><br />
<b>Trainer: </b><span id="Trainer"></span><br />
<b>Training Type: </b><span id="Type"></span>
</p>
参见此处:Popup Image
我想知道如何从单击的会话表中显示已注册的学习者。我无法基于此行的js“ click”事件创建SQL查询,这将允许我根据单击的行ID显示所有注册。
我已经尝试过了,但是对我来说不起作用,因为我无法根据单击的会话记录来构造查询:
<div id="modal_showlearners">
<p>Learners enrolled in this session:</p>
<form action="#" method="post">
<?php
$result = mysqli_query($con, "SELECT * FROM enrolments WHERE SessionID = sessions." . $row['ID'] . "") or die (mysqli_error());
while ( $row=mysqli_fetch_assoc($result)) {
echo $row['SessionID'] . " " . $row['LearnerID'] . " " . $row['FirstName'] . "<br />";
}
?>
</form>
</div>
希望我已经提供了足够的信息,我已经为此进行了2多个星期的努力。任何帮助将不胜感激,谢谢。