2008-11-18 18 views
6

CodeIgniter ermöglicht den Zugriff auf POSTed Daten über unbekannt ist:Postwerte, wenn der Schlüssel in CodeIgniter

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

wo ‚input_name‘ ist der Name eines Formularfeldes. Dies funktioniert gut für eine statische Form, bei der jeder eingegebene Name im Voraus bekannt ist.

In meinem Fall lade ich eine Sammlung von Schlüssel/Wert-Paaren aus der Datenbank. Das Formular enthält eine Texteingabe für jedes Schlüssel/Wert-Paar.

Ich frage mich, gibt es eine Möglichkeit, eine Reihe von geposteten Daten über die CodeIgniter API zu bekommen?

Vielen Dank!

Antwort

9

Gemäß der Dokumentation, nein. Ich würde vorschlagen, nur array_keys($_POST) zu verwenden, um die Schlüssel zu erhalten.

+0

Einfach und unkompliziert können. Ich mag das. – GloryFish

1

Sicher, wenn Sie eine Reihe von Tasten aus der Datenbank haben, können Sie das verwenden, wie:

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

Dann haben Sie den Vorteil, dass die Menschen, wenn die Menschen zusätzliche Felder einreichen (zB durch die Form ändern und es veröffentlicht selbst) werden diese Felder

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

Einsatz ignoriert:

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

Update:

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

die verwendet