php - 如何在页面中构建数据库调用?

标签 php mysql database-design web-applications

好的,所以我不熟悉将复杂的数据库结构放入页面。我有一个包含几个类别的基本人员表。学生、老师、家长和模组。还有一张表供家长、学生和教师/教师使用。它基本上是一个学校的网站。

现在以个人资料页面为例,学生的信息会显示给家长。像谁是老师、科目、出勤、家庭作业等信息。这将查询很多表。那么我最好的选择是什么?我计划以网络应用程序的方式进行。我在想也许我可以使用 ajax 将 JSON 数据分页,然后让 javascript 完成繁重的计算工作。所有表只会被查询一次。

那么这样做可以吗?或者当我把脚挖得太深时,我会面临一些隐藏的问题吗?也许我可以更深入地制作一个巨大的 JSON,将整个数据库发送给用户,然后将其缓存在浏览器中。我不必支持非常旧的浏览器:)

此外,每次都需要计算出勤率和分数/结果等内容。有没有办法缓存每个学生的结果?就像家长查看学生的成绩一样,它会计算一次,然后以某种方式在服务器上缓存 x 天。

编辑:

我能想到的另一种非 JSON 方法是传统方法。我用 php 在服务器端做所有的事情。这意味着我不必担心浏览器的兼容性。也许我可以在开始时调用所有需要的表并将其存储为一个数组。这样一个表也只被调用一次。

编辑 2

我在某处读到有关《战地风云 3》战斗日志网站的信息。制作方法也是一样的。所有数据都使用 JSON 从服务器提取,然后在客户端计算。如果这有助于正确理解我的想法。

最佳答案

可能是为了消除一些误解,但这是一个比答案更冗长的评论:

您的数据库有表和字段。这是完全正确的。存储数据并为您处理查询是数据库服务器的工作。您自己的代码在连接表方面永远不会比数据库的代码更好。因为数据库服务器针对任务进行了优化。

所以我认为查询所有数据并通过 JSON 将其放入您的网络应用程序的想法只是一个坏主意。如果您需要特定数据,请联系您的服务器,服务器将构建相关的 SQL 查询,将其发送到数据库服务器,获取结果,将结果转换为 JSON 并将其发送回浏览器。

关于php - 如何在页面中构建数据库调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567552/

相关文章:

php - 联系表单 7 提交后无法执行脚本

mysql - MySQL 中的行版本控制

mysql - g :select using two combobox in grails

ruby-on-rails - 多项选择问答游戏的数据库模式

php - 防止自引用表中的主键和外键重复

PHP - 获取下一次 crontab 运行的日期

javascript - PHP json_encode 数组到 javascript 关联数组

php - 无需插入即可获取下一个 auto_increment 值

数据库:删除或不删除记录

sql - 为每种类型的用户将登录名和密码放在一个表或多个表中?