首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中使用下拉菜单排序和检索数据

问在php中使用下拉菜单排序和检索数据
EN

Stack Overflow用户
提问于 2014-04-03 07:20:25
回答 2查看 174关注 0票数 0

我的网页上有两个下拉菜单。一个是课程列表,另一个是学生列表。我想要做的是,当在课程菜单中进行选择时,它将更新学生菜单,使其仅列出该课程中的学生。

所有课程和学生数据都保存在MySQL数据库中。检索我想要的结果的SQL语句不是问题。我已经把它们弄清楚了。问题是,我不知道如何在不使用提交按钮的情况下让一个下拉菜单更新另一个。有没有办法让课程菜单在发生变化时调用php函数,从而更新学生菜单?

我看过几个类似的问题,但当第二个菜单更新时,许多问题最终重置了第一个菜单。我需要在最后的页面上打印选定的课程和学生。

这是可以用PHP完成的吗,还是Javascript更可取?如果有人能给他们指出正确的方向,那将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2014-04-03 07:40:37

有没有办法让课程菜单在发生变化时调用php函数,从而更新学生菜单?

是。最流行的说法是AJAX。

您最终将同时使用JavaScript和PHP来完成此操作。实际的实现相当复杂,所以我将为您列出基本步骤。

  1. (JavaScript)在触发该事件时绑定课程下拉菜单menu.
  2. (JavaScript)的change事件,捕获所选课程并将一个XMLHttpRequest连同所选课程一起发送到您的服务器。
  3. (JavaScript)捕获所选课程,并运行SQL语句来获取学生列表,然后将学生列表转换为文本格式(JSON、XML、分隔文本等)。要发送回浏览器(使用echo、print、etc).
  4. (JavaScript)填充学生下拉菜单。
票数 0
EN

Stack Overflow用户

发布于 2014-04-03 07:41:03

一般的方法是使用jQuery向下拉选择器添加一个钩子,并在页面的另一个部分触发AJAX加载,用作为HTML片段(easy)或JSON数据(更难)检索的数据填充该页面。

一种非常快速而粗糙的方法是抓取页面的一部分,然后使用$.load()重新填充当前文档

代码语言:javascript
复制
$('#select1').on('change', function() {
  $('#select2').load('select.php #select2', 'select1=' + $(this).val())
})

这就是粗略的想法:当您的第一个选择框更改时,加载select.php页面或您正在使用的任何内容,并添加参数select=N,其中N是选定的值。然后,它删除#select2部分并替换它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22824964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档