使用moodle数据操作API从表中获取特定字段

时间:2016-06-11 09:21:07

标签: mysql moodle moodle-api

我想从moodle数据库中选择所有记录,其中id等于某个变量。任何人都可以告诉我moodle数据处理API的语法是什么。

这是 mysql查询

Select question from mdl_answers where id=$questionid;

我试过了

$queid[]= $queid[] = $DB->get_field('question_answers', 'id', array('question' => $questionid), MUST_EXIST);
$true=$queid[0];   // this i get
$false=$queid[1];   //this remains empty

但它只提供一条记录,而我有多条记录与此ID相关联。

你可以在图片中看到记录71和72在下一栏中有相同的值48我想得到这些ID 71和72 enter image description here

1 个答案:

答案 0 :(得分:1)

get_field()只返回一个值。

使用get_records() - https://docs.moodle.org/dev/Data_manipulation_API#Getting_an_hashed_array_of_records

$answers = $DB->get_records('question_answers', array('question' => $questionid));
foreach ($answers as $answer) {
    switch ($answer->answer) {
        case 'True':
            $true = $answer->id;
            break;
        case 'False':
            $false = $answer->id;
            break;
      }
}

或者像这样使用get_field()

$true = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'True'));
$false = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'False'));