【问题标题】:Show data from database based on user input根据用户输入显示数据库中的数据
【发布时间】:2016-04-20 03:52:16
【问题描述】:

我正在创造一种方式,“老师”可以参加考试,“学生”可以参加考试。

首先,教师也可以使用以下查询提出新问题:

INSERT INTO questions (question, type) VALUES ('$question', '$type')

在数据库中,我将问题设置为也有 question_id,它在每次输入后自动递增。然后在一个单独的页面上,他们可以选择他们想添加到考试中的问题。所以我只是:

SELECT * FROM questions

然后有一个复选框供他们检查要添加哪些问题使用此查询:

INSERT INTO exams (question_id) VALUES ('$question_id')

exams 表还有一个自动递增的exam_id。 所以现在我想显示老师选择的问题,但我什至不知道我应该在考试中存储什么类型的 question_id(现在是 INT),这样我就可以遍历它们。

即。老师选择问题 1,2,4,10 和查询得到问题看起来像

SELECT question FROM questions WHERE question_id='1,2,4,10'

【问题讨论】:

  • 首先,这也是可能的…… 任何事情都是可能的。您有具体问题吗?
  • 既然您刚刚开始学习如何查询数据库,请学习如何使用参数化查询。

标签: php mysql


【解决方案1】:

假设您通过 POST 或 GET 获取问题 ID,试试这个:

$selected = implode(',', $_REQUEST['selectedquestionids']);

SELECT question FROM questions 
       WHERE question_id IN ($selected)
       GROUP BY question_id;

希望这会有所帮助。

【讨论】:

  • 但是如何将存储在考试中的 VARCHAR "1,2,4,10" 转换为单个整数?还是我应该为每次考试只准备一张桌子?
  • 您可以将问题ID作为整数存储在问题表中。查询将匹配提供的 ID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-30
  • 2022-01-13
  • 2017-02-05
  • 1970-01-01
  • 2014-10-16
  • 2018-09-06
  • 1970-01-01
相关资源
最近更新 更多