php - 我应该如何设计与服务器和数据库通信的软件

标签 php mysql database

我收到一份作业,要求我构建一个小软件。该软件必须执行以下操作:

  1. 用户可以通过点击按钮/输入文本从用户端应用进行操作
  2. 用户端应用必须将用户输入上传到服务器
  3. 服务器必须收集所有用户的输入,生成摘要(例​​如所有用户输入的类别的平均数量)并将其显示在网页上

我的问题是:

a.为了上传用户输入(上面的步骤 2),我计划将我的用户端应用程序与 mysql 指令链接起来,这样我就可以将数据发送到我的服务器上的 mysql 数据库。听起来合理吗?

b.在服务器端(上面第3步),当多个用户操作时,我是否需要担心发送到mysql的数据的顺序? 可以根据每个用户的输入存储数据,然后每 2 分钟进行计算(例如对所有用户的某个类别取平均值)。但是,我可以对服务器进行编程以动态计算平均值吗?例如,只要有新的输入,服务器就更新平均值并显示。如果可能的话,我是否应该修改服务器端程序,例如显示平均数的网页?或者,我可以对数据库进行编程,让它计算平均值并在新数据到达时存储数字吗?

非常感谢。

最佳答案

嗯,您已经概述了一些非常核心的问题,并且有很多方法可以继续。

为了回答您的具体问题,我将提供以下内容;

a.鉴于您已将问题标记为 PHP,我猜您会希望将其用作业务逻辑的服务器端代码(即接收表单输入并进行任何服务器端计算)。这也是您执行任何 CRUD(创建、读取、更新、删除)操作以持久保存数据库的方式。

b.如果您正在为多个用户进行设计,您的数据库域模型将需要反射(reflect)这一点,并且您的表单输入将需要捕获诸如“用户名”字段之类的内容,您的 PHP 逻辑将使用该字段来正确指导持久性。您的排序是通过如何为给定用户构建服务器端逻辑来确定的。您提到每两分钟聚合一次用户数据。这也许可以通过轮询功能来完成,但同样,有许多设计考虑因素需要评估。我建议在 Google 上搜索 php 并进行轮询,看看可以在这里做什么。我不清楚你的显示目标是什么,但是无论你如何继续,我建议将你的逻辑保留在 PHP 服务层中,将持久性数据(模型)保留在 mysql 数据库中,以及绑定(bind)到该数据的 View 层不管你需要什么。

查看 PHP 教程可能会让您受益:

http://php.net/manual/en/tutorial.php

并在 Google 上搜索 MVC(模型- View - Controller )设计。

希望这有帮助。

关于php - 我应该如何设计与服务器和数据库通信的软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18862807/

相关文章:

php - 两个数据库之间的数据库关系

php - 在复杂 MySQL 查询中使用变量

php - Magento:通过Ajax调用模板phtml文件

php - 分页 - 第 1 页每页 2 个项目,其他页面每页 10 个项目

php - 通知: Undefined variable: conn and Fatal error: Call to a member function prepare() on a non-object

mysql - 如何从转储开始更新 mySQL 表?

android - 从 mySQL 服务器获取数据时让 ListView 工作

javascript - 如何在下拉列表中选择项目名称后显示文字,显示的文字不是select的值

php - 提高PHP Mysql中网页的处理速度

mysql - Django 不显示来自数据库的更新数据