Codeigniter / MySQL çıktı group_concat için seçilen özelliği ekleme

0 Cevap php

Ben Codeigniter / MYSQL kullanarak dinamik seçeneğini menülerden seçenekler basit bir liste çıktılamak duyuyorum.

CONTROLLER

    $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
                ");

VIEW PAGE

<?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 } ?>

Ben başka bir tablodan çekilir belirli seçenekler için html selected özellik eklemek istediğiniz kadar bu inanılmaz iyi çalışıyor.

    $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
        ");

Kendim ve başka deneyimli programcı bunu başarmak için birkaç yolları ile oynarken edilmiştir.

Bir sayaç ile bir dizi kullanarak (bu büyük çalıştı ama biz sorgu içinde sayacı artırmak değil) bir IF deyimi ile birleştiğinde

Bizim dönüş seçeneği GROUP_CONCAT kullanarak ve birden fazla veritabanı aramaları ve birkaç PHP ifadeleri çıkış kodu kullanarak tek MYSQL sorgusu kurtulmak için.

Biz gerçekten bir tuğla duvara çarpmış gibi tüm yardım büyük mutluluk duyacağız.

Teşekkürler

Tim

0 Cevap