php - 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);
解决方案
我认为您不必担心将正文中的文本放入数据库中,我会亲自将答案存储在另一个表中,但会参考原始问题。
所以表格可以是:(id,answer,userid,opportunityid)值(1,'Yes i have','1','12');或类似的东西
然后,您可以从数据库中提取值,最后将它们放在一起。
这样做的好处是您在数据库中存储的信息更少,因此数据库不会那么大(更少的数据重复)
回答完所有问题后,您可以编写一个脚本将它们放在一起。或者甚至具有将已完成的内容放在一起的功能。
那有意义吗?我很乐意提供更多说明。
推荐阅读
- python - 计算大量数据块的 Python 算法
- php - Laravel 无法识别 laravel-ffmpeg 方法
- sql-server - 在存储过程中创建具有动态名称和列的 SQL 视图
- json - 我无法将对象数组转换为可以发送并存储到 Web 服务器的格式
- c - 在偏移量处写入二进制文件会使所有先前的字节
- javascript - Jquery添加重复的数组键
- javascript - 更新数据库中的新密码
- python - 读取 csv 文件并检查特定列是否为负数。如果为真,则将相应的行写入另一个 csv
- linux - How to connect input/output to SSH session
- amazon-web-services - Serverless-framework Api Gateway 输出模型