gpt4 book ai didi

php - 在 Codeigniter/MYSQL 中将所选属性添加到 group_concat 输出

转载 作者:行者123 更新时间:2023-11-30 23:40:20 25 4
gpt4 key购买 nike

我正在使用 Codeigniter/MYSQL 从动态选择菜单中输出一个简单的选项列表。

控制者

    $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 语句来输出代码。

我们将不胜感激,因为我们确实碰壁了。

谢谢

蒂姆

最佳答案

未经测试,尝试:

   SELECT a.custom_field_name, 
a.custom_field_id,
GROUP_CONCAT('<option name=\"',c.custom_field_value_id, '\" value=\"', c.custom_field_value_id, CASE WHEN r.project_id IS NOT NULL THEN 'selected' ELSE '' END, '\">',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
LEFT JOIN projects_custom_fields_reg r ON r.custom_field_value_id = c.custom_field_value_id
AND r.custom_field_id = a.custom_field_id
AND r.project_id = ?
GROUP BY a.custom_field_id
ORDER BY c.custom_field_id

关于php - 在 Codeigniter/MYSQL 中将所选属性添加到 group_concat 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com