2016-07-19 29 views
2

我有一個我的POST變量的名稱數組,當我更新數據庫中的一行時使用。將_POST值保存到數組

$jobs = array("proposal_id", 
       "will_provide",   
       "general_scope",   
       "per_bid",    
       "job_type"); 

使用此樣式我的表稱爲作業,數組中的每個值都是列ID。

我想編輯這個數組,以便每個項目(列ID)包含單個_POST價值

然後我有一個使用變量來創建通用的查詢功能。

function save_data($jobs) { 

     foreach ($jobs as $job) 
     { 

      $job[$job[$i]] = _$Post[$job]; 

       or 

      Table_name[column] = cell value; 

      ... 
      ... 
      ... 

我希望能夠將$ values保存到與其關聯的帖子變量中。像

例如東西,如果我要手動創建這個數組它看起來像

$jobs = array('proposal_id' => '12345678','title_of_project' => 'aTitle','creator' => 'aUser','last_modified' => '0000-00-00','date_created' => '0000-00-00','price' =>'1000'); 
+4

'$工作爲$工作'應該把'$ jobs作爲$ job' – Ghost

+2

就像@Ghost說的那樣,你應該把for語句中使用的'$ jobs'改爲'$ job',並且將'$ jobs'的第二個實例修改爲for循環成爲'$工作'。這可以解決你的問題,如果它不能解決你想要的另一種方式或給你一個你想要的例子。 – ComputerLocus

+0

在你的最後一行代碼中,'$ values'是什麼?其餘的代碼不使用它。在你的循環中,一旦你從'$ _POST'得到值並將它放在'$ value'中,你打算如何處理'$ value'?你想要的東西不清楚。 – BeetleJuice

回答

1

這應該是你在找什麼:

$jobs = array("proposal_id", 
       "will_provide",   
       "general_scope",   
       "per_bid",    
       "job_type"); 

$jobValues = array(); 
foreach($jobs as $job) { 
    $jobValues[] = isset($_POST[$job]) ? $_POST[$job] : null; 
} 

$jobs = array_combine($jobs, $jobValues); 
+0

好的,是否可以在$ job數組中使用'proposal_id'或任何其他變量作爲我的索引而不是$ i。 –

+1

您可以隨意修改它,以使用任何唯一變量作爲'$ jobResult'鍵。 – ComputerLocus

+0

這真的很接近我的想法。基本上我有我的數組設置爲數組的名稱是我的db_table和db_table數組中的每個值是我的數據庫中的列。我試圖做的是保持這種語法,同時插入_post變量到每一列。 –