我需要关于一个组合框依赖于另一个组合框的帮助。
我的表单中有两个组合域,一个是学校,另一个是班级。每所学校都有特定的班级,并且都存储在数据库中。我必须从数据库(学校表)中选择学校的值,选择它后,第二个组合框将显示与特定学校相关的课程。
选择这些值后,我也必须将它们存储在数据库中。
发布于 2012-05-02 18:17:27
有两种方法可以解决这个问题。
使用javascript的
1. You can use Javascript + Ajax to dynamicly get the second box's datasource, create an array and set the combobox's items.
2. You can load the options that you want in array (using php when the page is created)在这两种方法中,第一个组合框中的每个选项都有一个数组(两个二维数组-第一个索引用于第一个组合框中的选项,第二个是将添加到第二个组合框中的项的索引)。然后你可以使用
document.getElementById("DropDownList").options.add(opt);
若要添加第二个组合框中的项,请在第一个组合框的值更改时执行此操作。
2.每次第一个组合框的值发生变化时,您都可以为表单调用submit(),然后使用php填充第二个组合框(取决于第一个组合框的值)。
发布于 2012-05-02 21:06:52
注意:我假设数据库配置是正确的,因为您没有提供数据库的详细信息。
表1:学校
字段类型详细信息
學校int int(11)主键
校名varchar(50)
详细信息varchar(50)
表2:类
字段类型详细信息
class_id int(11)主键
类名varchar(50)
學生11 int(11)
在上述db表中添加示例数据。设置数据库配置,如下所示
$sConn =mysql_connect(“本地主机”,“根”,"sajeda45")
本地主机是主机名根目录是dbusername sajeda45是dbpassword imagedb是数据库名
在下面的脚本中设置上面的数据库参数,你就会得到你想要的结果
<?php
$sConn = mysql_connect("localhost","root","sajeda45")
or die("Couldn't connect to database server");
$dConn = mysql_select_db("imagedb", $sConn);
function getSchollList()
{
$schoolList = array();
$result = mysql_query("select schoolid,schoolname from school") or die("Couldn't school list");
while($row=mysql_fetch_array($result))
{
$id=$row['schoolid'];
$schoolList["".$id.""] =$row['schoolname'];
}
return $schoolList;
}
function getClassList($schoolId)
{
$classList = array();
$result = mysql_query("select classname from class where schoolid=$schoolId") or die("Couldn't class list");
while($row=mysql_fetch_array($result))
{
$classList[] =$row['classname'];
}
return $classList;
}
?>
<html>
<title>Test Example</title>
<head>
<script type="text/javascript">
function redirectForClass(schoolName)
{
window.location="stackoverflow1.php?school="+schoolName;
}
</script>
</head>
<body>
<?php
$schoolList = getSchollList();
$schoolId = isset($_GET['school']) ? $_GET['school']:0;
$classList = getClassList($schoolId);
?>
<form method="post" action="handler.php">
School:
<select name="school" onchange="redirectForClass(this.value);">
<option value="0">--select school--</option>
<?php
foreach($schoolList as $school_Id => $school){
?>
<option value="<?php echo $school_Id; ?>" <?php if($school_Id==$schoolId) echo "SELECTED"; ?>><?php echo $school; ?></option>
<?php
}
?>
</select>
<br/><br/>
Class:
<select name="class" >
<option value="">--select Class--</option>
<?php
foreach($classList as $class){
?>
<option value="<?php echo $class; ?>"><?php echo $class; ?></option>
<?php
}
?>
</select>
<br/><br/>
<input type="submit" value="submit" />
</form>
</body>
</html>
<?php
?>https://stackoverflow.com/questions/10411618
复制相似问题