2013-06-27 15 views
5

Ho una vista contenente un modulo. con campi di input e pulsanti radio. Questo modulo deve essere compilato con i dati del database, in modo da utilizzarlo come modulo di modifica dei dati.Codeigniter - utilizzando set_value() per popolare un modulo per la modifica (senza POST coinvolto)

Ho usato la funzione set_value() per la convalida del modulo in cui la vista viene chiamata dallo stesso controller dopo il post. Ma come usare la funzione set_value senza un POST? Inserire semplicemente i valori in un modulo nella vista caricata. con dire, una matrice o un oggetto dal database.

risposta

19

Si può usare in questo modo

set_value('myfield', isset($databaseData['myfield']) ? $databaseData['myfield'] : ''); 

$databaseData conterrà i dati dal database che avete caricato nel controller e passati a visualizzare

$data['databaseData']= $this->my_model->find($parameters); 

$this->load->view('myformview',$data); 
+0

Puoi farlo e farlo funzionare anche con $ _POST? –

+1

Lifesaver, grazie! –

+1

Grazie mille amico. Ho provato ajax e anche questo non ha funzionato. la tua risposta era ciò che stavo cercando. – Shridhar

4

Si tenta questo codice

set_value('<field_name>', @$field_from_db); 

@ viene utilizzato per skipp errori se campo non è se t

+1

Grazie per le informazioni sull'uso di @ – Archer

+0

'@' ignora l'errore se ha –

+0

Grazie a tutti per aver segnalato all'uso di @. Ho guardato ovunque. Penso che questo approccio sia molto meglio di quello di @ Dianuj. Anche nel codice base codeign utilizza il valore set_value con @. – Sobiaholic

Problemi correlati