2008-11-18 19 views
6

CodeIgniter yoluyla POSTed verilere erişim sağlar sonrası değerler alın: 'input_name' form alanın adıdıranahtar CodeIgniter'daki bilinmiyorsa

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

. Bu, önceden bilinen her giriş adının bulunduğu statik bir form için iyi çalışır.

Durumumda, veritabanından bir anahtar/değer çiftleri koleksiyonu yüklüyorum. Form, her anahtar/değer çifti için bir metin girişi içerir.

Merak ediyorum, CodeIgniter api aracılığıyla gönderilen bir dizi veriyi almanın bir yolu var mı?

Teşekkürler!

cevap

9

Dokümantasyona göre, no. Anahtarları almak için sadece array_keys($_POST)'u kullanmanızı öneririm. Eğer veritabanından tuşları bir dizi varsa

+0

Basit ve anlaşılır için kullanılabileceğini. Bunu sevdim. – GloryFish

1

Şüphesiz sizin gibi, yani kullanabilirsiniz:

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

insanların ek alanları gönderirseniz insanlar (formunu değiştirerek ve yayınlayarak örneğin avantajı var kendileri) bu alanları göz ardı edilecektir

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']); 
    } 

insert:

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

güncelleme:

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

İlgili konular