组合框onchange事件以选择数据库值
Combobox onchange event to select database values
我有以下代码
<form class="form-horizontal" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" >
<br /><div class="controls"><h1><?php echo $full_name; ?></h1></div><br />
<?php echo printErrorMessage($errors); ?>
<fieldset><legend>Add Subject for <u>"<?php echo $full_name; ?>"</u></legend></fieldset>
<!-- select all courses -->
<div class="control-group">
<label class="control-label">Subject</label>
<div class="controls inline">
<select id="courses" class="input-xlarge" name="courses" onchange="getSubj()">
<option value="0">Courses</option>
<?php
$pstmt = Course::findAll();
while($row = $pstmt->fetch(PDO::FETCH_ASSOC)){
echo '<option value="' . $row['id'] . '" >';
echo $row['title'] . '</option>';
}
?>
<?php //echo displayCombo2(Course::findAll()); ?>
</select>
</div>
</div>
<?php echo $couid; ?>
<!-- select all subject -->
<div class="control-group">
<label class="control-label">Subject</label>
<div class="controls inline">
<input name="emp_id" value="<?php echo $employee_id; ?>" type="hidden" />
<select class="input-xlarge" name="subject">
<option value="0" onchange="">Subject</option>
<?php
$pstmt = Subject::findAll();
while($row = $pstmt->fetch(PDO::FETCH_ASSOC)){
echo '<option value="' . $row['id'] . '" >';
echo $row['title'] . '</option>';
}
?>
<?php //echo displayCombo2(Subject::findAll()); ?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Description</label>
<div class="controls">
<input name="desc" class="input-xlarge" type="text" placeholder="Description">
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary" name="submit">Save Course</button>
</div>
</div>
</form>
用户将首先从包含所有课程的组合框中选择两个项目。一旦用户选择了课程,我想回到数据库,只选择那些主题链接到所选课程。我可以通过SQL做到这一点,但我不确定如何在这里做到这一点。
我必须提交回服务器处理PHP吗?我的意思是,用form
标签包围select
标签,这样它就可以提交给自己,并获得与该主题相关的新值。问题是它已经在一个表单中了。
我怎样才能做到这一点?
下面是jquery代码,我也尝试过获取数据,但很难解释,因为该页面处理特定页面上的东西,只返回echo,例如
<script type="text/javascript">
function getSubj(){
var courseID = $('#courses').val();
$.post('getSubjects.php', {postCourseID:courseID},
function(data){
if(data>="1"){
$('#res').html(data);
}
});
//alert("working wit ooooooo " + courseID);
}
</script>
问题是如何存储PHP中存储在"data" (function(data))中的值,以便我可以执行
谢谢
你的怀疑是正确的。为了完成您想要的,您必须创建一个单独的表单,并将其提交给PHP脚本。这是PHP等服务器端语言的特征之一。数据提交必须由用户发起,并且页面必须完全重新加载。
这可以看作是对设计的限制,这就是为什么许多站点使用客户端脚本(如JavaScript)来补充服务器端脚本的原因。(jQuery是一种流行的JavaScript框架,它使JavaScript更容易使用)你可以通过一种叫做AJAX的方法来实现这一点。
AJAX基本上是不同web技术的混合,它允许客户端通过点击按钮或从选择元素中选择特定值等操作发起对服务器端脚本的调用。这个调用是在后台进行的所以用户甚至不需要知道它正在进行。然后,可以通过JavaScript使用返回的服务器端数据实时更新页面。
我更喜欢使用jQuery库提供的.ajax()函数。这是一个非常干净和轻松的实现。阅读上面链接中的文档,了解有关实现的更多具体信息。
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 如何基于两个下拉选择从数据库中检索数据
- 使用数据库中的数据进行多项选择
- AngularJS设置从数据库中选择选项
- 如何根据 jsp 中数据库中的值在下拉列表中选择一个值
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 从下拉框中选择用户信息,并使用进度计数器显示数据库中的选定项目
- 从数据库加载记录,不带提交按钮的下拉选择
- 从另一个选择框并使用数据库连接填充选择框
- 尝试使用 ASP-classic 和 jQuery 根据数据库的结果自动选择下拉选项
- 在选择下拉选项时,从mysql数据库填充HTML表单字段
- 单击按钮可多次动态添加选择框、文本框和日期,并将这些值插入数据库
- 单击按钮上的添加/追加动态数据库(SQL)选择框
- 每次选择数据库列时调用 SQL“函数”(存储过程?
- Jquery自动选择数据库选项
- 组合框onchange事件以选择数据库值
- 如何为php选择数据库添加SLIDE DOWN/SLIDE UP功能
- 如何根据jsp中的输入type=radio标记来选择数据库表
- 自动选择数据库