php - 用户登录后从数据库中显示合适的网页信息
问题描述
我有一些 PHP 代码和一个数据库。
- 用户可以使用卷号、密码和学期进行注册。我确实计划稍后提供部门。
- 教师可以根据学期添加科目。他们可以根据科目添加班级测试。
- 在我最简单的情况下,我已经能够登录并查看页面'
view_subjects.php
'和'view_tests.php
'上的所有主题和所有测试,分别使用SELECT * ..
- 我想包括一个简单的修改。我希望能够显示基于学期用户所在的科目和测试,即过滤器。
- 我创建了视图 I、II、III、IV,其中视图名称是学期,分别基于
CREATE VIEW II AS SELECT * subjects WHERE semester='II';
And Views I、III、IV。编辑-意识到没有必要。 - 根据意见,我想
SELECT * FROM [viewname]
在第 3 步执行。例如:SELECT * FROM [I] , SELECT * FROM [II], ... SELECT * FROM [IV]
- 但是必须根据用户登录来执行这四个中合适的语句。
我的方法正确吗?
如果是这样,如果他/她登录后如何获得学期名称否则,我应该如何解决这个问题?
编辑我的问题是添加一个过滤器。我希望用户根据他们所在的学期查看他们的科目和测试。学期是学生表的属性以及 roll_no 和密码。
解决方案
我希望这是有道理的,我不打算编写代码,因为我不知道您在那里使用什么,但是对于这种情况,以下将是基本思想。
方法一(我不喜欢这个)
在学生表中添加一个 current_semester 字段,用于存储学期 ID。每次学生完成一个学期时都会更新此信息。
在加载您的信息页面之前,将 current_semester 的值保存在一个变量中,并使用类似“SELECT * FROM [semester table] WHERE id = [current_semester]”的内容
这将为您提供您想要的他/她学期的当前学期,但不会保存他的学期历史。
建议方法(使用不同的表格来保存学生的学期历史)
- 创建新表“student_semester”,其中包含 id、semester_id(来自关联学期的外键)、student_id(来自关联学生的外键)、start_date 以及您可能想要的任何其他信息。
- 只需获取与该用户关联的最新记录,这将是当前学期
- 这种方法将允许您存储每个学生的学期历史
建议:使用 Laravel,Eloquent 让这种工作变得非常容易。
推荐阅读
- amazon-web-services - 从 kafka (MSK) AWS 向 elasticsearch 发送数据
- python - Django 安全删除
- android - 推送通知在我的 android 上接收非常延迟,但其他设备会立即接收
- docker - Keycloak 无法作为 docker 映像正确启动
- html - 轮廓 1px 纯红色不工作比例悬停
- terraform - 错误:不支持的属性。此对象没有名为“nsg_name”的属性
- python-3.x - Python MatPlotLib - 轴限制不起作用
- reactjs - Reactjs:react-router更改url链接而不重新加载页面&当(cart.lenght === 0)为真时没有加载
- .net-core - Entity Framework Core - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表“EntryType”中插入标识列的显式值
- spring - Oauth 2 - token_type 为“bearer”的令牌响应,当它应该是“Bearer”时