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