因此,我正在努力学习PHP和MySQL(我对两者都有基本的了解;我已经阅读了Head First SQL和Head First PHP&MySQL的前半部分),我认为巩固知识的最好方法是构建一些东西,而不是阅读.

考虑到这一点,我想创建一个连接到服务器上的MySQL数据库的基本网页.我将构建一个基本的HTML表单,并允许用户输入基本信息,例如:姓氏、名字、邮箱、生日、性别.

我不知道如何设计一个记录基本测验结果的数据库--我只想要5道多项 Select 题.最后,我想显示用户的结果与之前用户的结果.

如果你能帮助我理解如何设计5个问题的测验表格,我将不胜感激.谢谢!

推荐答案

我会从4个简单的表格开始:

Users

- user_id        auto integer
- regtime        datetime
- username       varchar
- useremail      varchar
- userpass       varchar

Questions

- question_id    auto integer
- question       varchar
- is_active      enum(0,1)

Question_choices

- choice_id        auto integer
- question_id      Questions.question_id
- is_right_choice  enum(0,1)
- choice           varchar

User_question_answers

- user_id        Users.user_id
- question_id    Questions.question_id
- choice_id      Question_choices.choice.id
- is_right       enum(0,1)
- answer_time    datetime

我对这张桌子设计的 idea 是:

  • Users用于存储注册用户.
  • Questions用于存储您的所有问题.
  • question_choices用于存储所有可用选项.它有is_right_choice条定义了什么 Select 才是特定问题的正确答案.
  • User_question_answers用于存储用户的答案.

Database相关问答推荐

Golang Gorm和Gin无法创建具有关联的对象

MongoDB事务,回调API方法

用于在 Excel 中的两个列表之间进行筛选的辅助列

如何在 Big Data 中进行模糊搜索

什么是范围锁( range-locks)?

关闭连接会自动关闭语句和结果集吗?

在 MySQL 中创建表时如何定义列的默认值?

skip bad record in redshift data load

如何禁用 Django 查询缓存?

向表中添加大量索引是否有缺点?

如何在大型数据库中使用 typeahead.js

添加具有初始(但不是默认)值的新列的最佳方法?

我可以用 JPA 命名我的约束吗?

SQL - 如何转置?

在 SQLite 数据库中加入 3 个表

我在哪里可以获得所有国家/地区的邮政编码?

如何将 DECIMAL 插入 MySQL 数据库

Redis Pub/Sub 和 Redis Stream 之间的主要区别是什么?

用于存储文件夹系统的数据库模式的 Select

如何在数据库中表示树状 struct