首页 > 解决方案 > SQL数据库中的自定义问题,想知道如何让用户回答每个问题

问题描述

抱歉这个问题 - 这可能没有意义,这有点难以解释。

我目前在我的数据库中有一个名为customquestions.

桌子看起来像这样

自定义问题表

在我的前端,我有以下代码,它根据“opportunity_id”列显示问题。因此,当用户在页面上寻找 ID 为“12”的机会时,它会显示来自数据库的问题以及用于回答的文本框。

 $questions = $this->db->query("SELECT * FROM (`applicationquestions`)
            WHERE opportunity_id = $opporunityinfo->id
        ");

        $questions = $questions->result(); ?>

<textarea name = "coverletter" id ="coverletter"> </textarea>


<? foreach ($question as $q):?>
<div class="form-group">
<label for="<?echo $q->id;?>" class="control-label"><? echo $q->label;? 
>:</label>
<input type="text" class="form-control" id="<?echo $q->id;?>">
</div>
<?endforeach;?>

基本上,我想要做的是当用户输入他们的答案并提交它时,它会从封面信箱中获取文本以及每个问题的答案,然后将其放在另一个表的列中称为“求职信”。

例如,它最终会将求职信和问题和答案放在一个正文中。

求职信

“嗨,我叫 john blah blah

,你以前卖过网页设计吗?
是的”

我的插入代码 =

    $coverletter = $this->input->post('coverletter') . "<br><br>"; 

// need to put questions & answers here automatically and then join it to $coverletter

 $insert['opportunity_id']= $this->input->post('oppid');

         $insert['user_id']= is_user_logged_in();
 $insert['time']= time();
 $insert['coverletter']= $coverletter;
         $this->db->insert("applications", $insert);

标签: php

解决方案


我认为您不必担心将正文中的文本放入数据库中,我会亲自将答案存储在另一个表中,但会参考原始问题。

所以表格可以是:(id,answer,userid,opportunityid)值(1,'Yes i have','1','12');或类似的东西

然后,您可以从数据库中提取值,最后将它们放在一起。

这样做的好处是您在数据库中存储的信息更少,因此数据库不会那么大(更少的数据重复)

回答完所有问题后,您可以编写一个脚本将它们放在一起。或者甚至具有将已完成的内容放在一起的功能。

那有意义吗?我很乐意提供更多说明。


推荐阅读