我正在尝试将表单中用户输入的值插入到我的数据库中。
我正在尝试创建2个下拉列表,第一个派生第二个选项。例如,Faculty的第一个下拉列表,第二个下拉列表包含所选教师中的学校。
我当时也希望将收集的信息插入到我的数据库中,但是我可以在首先获得正确的下拉菜单之后关注它。
我的注册页面位于一页,其中getSchool.php位于不同的文件中,我感觉两者之间的联系可能是我的问题。
register.php如下。这是表格所在的页面
<?php
session_start();
include('dbConnect.php');
$queryStr=("SELECT * FROM faculty");
$dbParams=array();
// now send the query
$results = $db->prepare($queryStr);
$results->execute($dbParams);
?>
<html>
<head>
<TITLE>Faculty & School</TITLE>
<head>
<!-- Help for code to create dynamic drop downs -->
<script src="https://code.jquery.com/jquery-2.1.1.min.js"
type="text/javascript"></script>
<script>
function getFaculty(val) {
$.ajax({
type: "POST",
url: "getFaculty.php",
data:'facultyID='+val,
success: function(data){
$("#schoolList").html(data);
}
});
}
function selectFaculty(val) {
$("#search-box").val(val);
$("#suggesstion-box").hide();
}
</script>
</head>
<body>
<div class="frmDronpDown">
<div class="row">
<label>Faculty:</label><br/>
<select name="faculty" id="facultyList" class="demoInputBox"
onChange="getFaculty(this.value);">
<option value="">Select Faculty</option>
<?php
foreach($results as $faculty) {
?>
<option value="<?php echo $faculty["facultyID"]; ?>"><?php echo
$faculty["facultyName"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="row">
<form action="addBlood.php" method="post">
<label>Test:</label><br/>
<select name="test" id="test-list" class="demoInputBox">
<option value="">Select Test</option>
</select>
</div>
</div>
<label>Result:</label><input class="input" name="result" type="text"><br>
<label>Date:</label><input class="input" name="date" type="date"><br>
<input class="submit" name="submit" type="submit" value="Submit">
</form>
以下是获得所有学校的getSchool.php
<?php
include('dbConnect.php');
if(!empty($_POST["facultyID"])) {
$queryStr=("SELECT * FROM school WHERE facultyID = '" . $_POST["facultyID"]
. "'");
$dbParams=array();
// now send the query
$results = $db->prepare($queryStr);
$results->execute($dbParams);
?>
<option value="">Select School</option>
<?php
foreach($results as $school) {
?>
<option value="<?php echo $school["schoolID"]; ?>"><?php echo
$school["schoolName"]; ?></option>
<?php
}
}
?>
提前感谢您的任何反馈和帮助。
西蒙
答案 0 :(得分:0)
url: "getFaculty.php",
data:'facultyID='+val,
success: function(data){
$("#schoolList").html(data);
#schoolList
元素在哪里?为什么getFaculty.php
?它不应该是getSchool.php
吗?
答案 1 :(得分:0)
首先,只是为了重新讨论已经提到的内容,更新您的DateTime
以获取getFaculty()
,并确保它指向getSchool()
。
现在,您需要在第一个下拉列表后使用ID getSchool.php
创建一个div。
schoolList
现在,更新您的<div class="row" id="schoolList"></div>
,以便生成完整的表单/选择。有点像:
getSchool.php
一旦你掌握了这些想法,你就必须确保按照你想要的方式获得完整的页面流。然后按照类似的标准将任何输入发布到用于数据库操作的php页面。
正如之前的帖子所述,这种解决方案仍然让您容易注射。这是另一篇文章,另一天。