2008-11-18 12 views
6

CodeIgniter के माध्यम से पोस्ट डेटा तक पहुँच की अनुमति देता है:पद मूल्यों जाओ जब कुंजी CodeIgniter में अज्ञात है

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

जहां 'input_name' किसी फ़ॉर्म फ़ील्ड का नाम है। यह एक स्थिर रूप के लिए अच्छी तरह से काम करता है जहां प्रत्येक इनपुट नाम समय से पहले ज्ञात है।

मेरे मामले में, मैं डेटाबेस से कुंजी/मूल्य जोड़े का संग्रह लोड कर रहा हूं। फ़ॉर्म में प्रत्येक कुंजी/मान जोड़ी के लिए एक टेक्स्ट इनपुट होता है।

मुझे आश्चर्य है, कोडइग्निटर एपीआई के माध्यम से पोस्ट किए गए डेटा की एक सरणी पाने का कोई तरीका है?

धन्यवाद!

उत्तर

9

प्रलेखन के अनुसार, नहीं। मैं कुंजी प्राप्त करने के लिए बस array_keys($_POST) का उपयोग करने का सुझाव दूंगा।

+0

सरल और सीधा करने के लिए इस्तेमाल किया जा सकता है। मुझें यह पसंद है। – GloryFish

1

निश्चित रूप से आपको लगता है कि उपयोग कर सकते हैं यदि आप डेटाबेस से चाबी की एक सरणी है, जैसे:

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

तो फिर तुम लाभ यह है कि लोगों को अगर लोगों को अतिरिक्त फ़ील्ड प्रस्तुत (प्रपत्र को संशोधित करने और पोस्ट करके जैसे है खुद को) उन क्षेत्रों नजरअंदाज कर दिया जाएगा

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

डालने:

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

अद्यतन:

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

संबंधित मुद्दे