2008-11-18 18 views
6

CodeIgniter pozwala na dostęp do danych za pośrednictwem Wysłany:Get wartości pocztowych, gdy klucz jest nieznana w CodeIgniter

$this->input->post('input_name'); 

gdzie „input_name” jest nazwą pola formularza. Działa to dobrze dla statycznej formy, w której każda nazwa wejściowa znana jest z wyprzedzeniem.

W moim przypadku ładuję kolekcję par klucz/wartość z bazy danych. Formularz zawiera dane wejściowe dla każdej pary klucz/wartość.

Zastanawiam się, jest sposób, aby uzyskać tablicę opublikowanych danych za pomocą api CodeIgniter?

Dzięki!

Odpowiedz

9

Zgodnie z dokumentacją, nie. Proponuję po prostu użyć array_keys($_POST), aby uzyskać klucze.

+0

proste i jednoznaczne. Lubię to. – GloryFish

1

Z pewnością, jeśli masz tablicę kluczy z bazy danych można użyć, że podobnie jak:

foreach ($arrayFromDb as $key => $value) { 
    $newValue = $this->input->post($key); 
} 

Wtedy mają tę zaletę, że ludzie jeśli ludzie złożyć dodatkowe pola (na przykład poprzez modyfikację formy i umieszczenie go sami) pola te zostaną zignorowane

1
$array_db_columns = $this->db->query('SHOW COLUMNS FROM ci_props'); 
    $array_db_columns = $array_db_columns->result_array(); 
    $array_save_values = array(); 
    foreach ($array_db_columns as $value) 
    { 
     $array_save_values[$value['Field']] = $this->input->post($value['Field']); 
    } 

wkładka:

$this->db->insert('props', $array_save_values);

zmiana:

$this->db->where('id',$id); $this->db->update('props',$array_save_values);

5
foreach($this->input->post() as $key => $val) { echo "<p>Key: ".$key. " Value:" . $val . "</p>\n"; } 

, które mogą być wykorzystane do