【发布时间】:2015-04-04 09:39:02
【问题描述】:
我正在创建一个网站,学生可以在其中查看教授的统计数据。
这是表单的代码
<?php
$pageName = "statisitcsForm.php";
$pageTitle = "Statistics Form";
include("../inc/config.php");
require(SITE_ROOT . "inc/db.php");
include(SITE_ROOT . "inc/header.php");
try {
$results = $db->query("
SELECT *
FROM professors
ORDER BY professorLastName");
$results2 = $db->query("
SELECT *
FROM majors
ORDER BY majorID");
} catch (Exception $e) {
echo "Data could not be retrieved from the database.";
exit;
}
$professors = $results->fetchAll(PDO::FETCH_ASSOC);
$majors = $results2->fetchAll(PDO::FETCH_ASSOC);
?>
<div id="statisticsFormBody">
<form action="../php/statistics.php" method="post">
<div class="form-div">
<h3><label for="major"> First Select Major: </label> <br></h3>
<select class="form-input" id="major" name="major">
<?php
foreach ($majors as $major) { ?>
<option value="<?php echo $major['majorID']; ?>"> <?php echo $major['majorName'] ?> </option>
<?php
} ?>
?>
</select>
</div>
<div class="form-div">
<h3><label for="prof"> Then Select Professor: </label> <br></h3>
<select class="form-input" id="prof" name="prof">
<?php
foreach ($professors as $prof) { ?>
<option
value="<?php echo $prof['professorID']; ?>"> <?php echo $prof['professorLastName'] . ' ' . $prof['professorFirstName'] ?> </option>
<?php
} ?>
?>
</select>
</div>
<div class="form-div">
<input type="submit" class="form-btn" id="Go" name="Go" value="Go">
<button type="reset" class="form-btn"> Clear</button>
</div>
</form>
</div>
<?php include SITE_ROOT . "inc/footer.php"; ?>
如何让第二个选择仅显示用户在第一个选择中选择的majorID 中的教授?
professor.majorID 引用数据库中的majors.majorID。
也许是使用 jquery (AJAX) 的解决方案?
【问题讨论】:
-
首先要做的事..从重组你的数据库开始。您需要在
professors表中有一个外键,它将教授连接到majors.. -
有一个。两个表都有majorID。我的问题与我如何将
-
您需要 ajax 来进行数据库操作(即过滤)
-
这看起来像是一个家庭作业,没有尝试解决它
-
大家相信我已经为这个网站付出了很多努力。我只是 javascript 的菜鸟,我需要一些关于这件事的指导。
标签: javascript php jquery html css