1
我正在使用Codeigniter/MYSQL从动态选择菜单中输出一个简单的选项列表。将选定属性添加到Codeigniter/MYSQL中的group_concat输出
控制器
$data['get_custom_fields'] = $this->db->query("
SELECT a.custom_field_name, a.custom_field_id,
GROUP_CONCAT('<option name=\"',c.custom_field_value_id, '\" value=\"', c.custom_field_value_id , '\">',c.custom_field_value_name , '</option>' ORDER BY c.custom_field_value_id ASC SEPARATOR ' ') as field_values
FROM projects_custom_fields a
JOIN projects_custom_fields_values c ON c.custom_field_id = a.custom_field_id
GROUP BY a.custom_field_id
ORDER BY c.custom_field_id ASC
");
视图页面
<?php if($get_custom_fields->result_array()) { ?>
<?php foreach($get_custom_fields->result_array() as $fRow): ?>
<tr>
<td><label>Select <?php echo $fRow['custom_field_name']; ?></label></td>
<td><select name="custom_field_<?php echo $fRow['custom_field_id']; ?>">
<?php echo $fRow['field_values']; ?>
</select>
</td>
</tr>
<?php endforeach; ?>
<?php } ?>
,直到我要到HTML selected
属性添加到从另一个表拉到某些选项这工作得非常好。
$data['get_custom_reg'] = $this->db->query("
SELECT custom_field_id, custom_field_value_id
FROM projects_custom_fields_reg
WHERE project_id = $project_id
");
我和另一位有经验的程序员一直在玩几种方法来实现这一点。
使用数组用计数器(这个伟大的工作,但我们无法增加查询中的计数器),再加上一个IF语句
我们的后备选项是使用GROUP_CONCAT摆脱单一的MySQL查询和使用多个数据库调用和几个PHP语句来输出代码。
所有的帮助将不胜感激,因为我们真的打砖墙。
感谢
添
相当的接近......我不用必要的,但给我怎么办案件MySQL和带领我们到正确的是什么回答。再次感谢! – Tim 2010-10-04 22:42:54