Hej
Jeg har i codeigniter bygger en bibliotek som har til formål at bygge html formularer vha. OOP.
Hertil benytter jeg i sidste ende form helperen fra CI. I mit samlede system anvender jeg HMVC.
Lige nu fungerer det fint når det er formularer som ikke skal indeholde noget fra starten, men kun hvis der er valideringsfejl. Dog vil jeg gerne kunne trække værdier ud af f.eks. en tabel i min database og herefter returnere det som værdien af mit element.
Dertil har jeg skrevet denne hjælpefunktion og tilføjet den til form_helper.php
- if ( ! function_exists('set_db_form_value'))
- {
- function set_db_form_value($field = '', $table = '', $where = array(), $default = '')
- {
- if(count($_POST)) {
- return set_value($field);
- }
- else {
- $CI =& get_instance();
- return $CI->db->select($field)
- ->from($table)
- ->where($where)
- ->get()->result()[0]->{$field};
- }
- }
- }
Hvis jeg laver en print_r(); på de data der kommer retur, så jeg får jeg data retur, men de kommer ikke med ud i min formular. Jeg laver elementerne med arrays, som vist i CI dokumentationen for Form Helper:
- array(
- 'type' => 'text',
- 'name' => 'title',
- 'placeholder' => t('Title'),
- 'value' => set_db_form_value('title', 'pages', array('pid' => $this->_CI->uri->segment(2))),
- 'class' => 'form-control',
- 'label' => array(
- 'title' => t('Title'),
- '#attr' => array(
- 'class' => 'col-sm-3 control-label no-padding-left'
- )
- )
- ),
Hvis jeg igen her laver en print_r på mit element, så kan jeg se at indholdet er returneret korrekt, men det bliver ikke vist i min formular.
Er der nogen som kan fortælle mig hvorfor det ikke virker?