我正在构建我的第一个真正的CI应用程序。我必须建立一个调查系统 - 如果细节很重要,我会详细说明。
将信息发布到用户的数据库的最佳方法是什么?在一行中,逗号分隔?我在这里是一个菜鸟,所以细节将不胜感激! :)
我应该补充一点:用户需要能够多次尝试进行测试,并对每个测试的得分进行绘制。每次测试都需要付款。
这是我在的地方。这段代码有效,但我确信有更优雅的方式来做事。
$this->db->select('credits')->from('be_user_profiles')->where('user_id', $this->session->userdata('id'));
$query = $this->db->get();
foreach ($query->result() as $row)
{
echo $row->credits;
}
这个怎么样?
答案 0 :(得分:0)
这取决于数据的结构,但最好的办法是建立调查表,并将每个问题的答案存储在不同的列中。
从MVC的角度来看,您将在视图中拥有一个表单,让控制器在提交模型时从该表单传递模型,然后让模型清理数据并将其插入数据库。 / p>
答案 1 :(得分:0)
这更像是代码组织/代码结构问题,而不是问题。
您可以“手动”获取输入数据,也可以使用Active Record CI库来执行此操作(https://www.codeigniter.com/userguide2/database/active_record.html#insert)
如果CI实施了ORM,那么工作应该比这更容易。
只需创建一个控制器并检查其上(或模型内部)的输入数据并创建一个模型,以便将必要的清理,数据验证和正确的数据分配应用于一个或多个模式表,然后进行设置。
编辑比您展示的ORM示例更优雅,但我不确定CI是否已实现。