当选定字段的数量未知时,Codeigniter获取数据库记录

时间:2012-09-25 15:28:54

标签: php mysql codeigniter

我有一个表单字段,大约有40个复选框。当用户勾选复选框时,根据选中的复选框,将选择数据库中的字段。因此,他们可以检查所有或任何一个,以显示报告中的哪些字段。我已经成功的SQL查询,它执行得很好。我遇到问题的所有方法是循环遍历记录集并填充html表,因为我不知道他们选择显示哪些列。我试图解决这个问题,但现在没有任何事情发生在我脑海中。任何帮助将受到高度赞赏。我只是需要一个想法!我正在使用codeigniter的查询方法 -

$query=$this->db->query($sql);

由于

3 个答案:

答案 0 :(得分:1)

如果复选框值按名称匹配,那么您应该能够使用PHP的implode()函数将所有字段放入逗号分隔列表中:

implode(',', $checkboxes); // returns string like 'field1,field2,field3,field4'

您可以将其分配给变量并将其放入SELECT语句中。

答案 1 :(得分:1)

如果我理解了这个问题,您知道用户想要的唯一地方位于“checkboxes”页面,您可以根据所按的实际复选框了解该请求。
因此,您必须保存此信息在会话变量,数据库,CI控制器或其他一些选项中

保存信息后,您可以使用它来构建“结果页”

答案 2 :(得分:1)

如果您像在文档here中那样循环遍历数据集,那么为什么不在结束每行时获取result_array()然后检索array_keys