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