2012-06-13 73 views
0

我有一個房主的關聯註冊表。房主實際上可以擁有多個地段,需要註冊。我這樣做是通過允許用戶單擊一個按鈕,將文本字段添加到表單以允許其他數據。有多少可以註冊的附加批次是沒有限制的。我的問題是如何管理帖子名稱?地址,城市,州和郵政編碼都需要組合在一起。基本上,我怎樣才能得到這個結果:動態關聯數組帖子名

$_POST = array(
    'mainAddress' => array(
     'address' => '', 
     'city' => '', 
     'state' => '', 
     'zipcode' => '' 
    ) 
    'additionalAddresses' => array(
     array(
      'address' => '', 
      'city' => '', 
      'state' => '', 
      'zipcode' => '' 
     ), 
     array(
      'address' => '', 
      'city' => '', 
      'state' => '', 
      'zipcode' => '' 
     ), 
     array(
      'address' => '', 
      'city' => '', 
      'state' => '', 
      'zipcode' => '' 
     ) 
    ) 
); 

這甚至可能嗎?如果沒有,我能做些什麼來接受額外的地址?

+0

不使用 「附加地址」,而令地址1:n的值 –

+0

?請舉例嗎?不知道我理解 – LordZardeck

+0

對不起,重新讀取這個問題 - 將發佈結果作爲分隔值進行播種,以代替「additonavalue = somevalue&addtionalvalue = somevalue」 - 將其作爲concat'd進行處理:「additionalAddresses = %2C %2C

%2C 你只需要調整你的$ _POST變量存儲來反映額外的值,當然也可以解析所有的消費後的值。不要掛在「POST」方面 - 考慮GET –

回答

4

HTML:

<form> 
Address 1 
    <input name="address[]" value=""> 
    <input name="zip[]" value=""> 
    <input name="city[]" value=""> 
    <input name="state[]" value=""> 

Address 2 
    <input name="address[]" value=""> 
    <input name="zip[]" value=""> 
    <input name="city[]" value=""> 
    <input name="state[]" value=""> 

Address 3 
    <input name="address[]" value=""> 
    <input name="zip[]" value=""> 
    <input name="city[]" value=""> 
    <input name="state[]" value=""> 
    </form> 

PHP代碼:

$new_address_array = array(); 
foreach($_POST['address'] as $k=>$v){ 
$temparray['address'] = $v; 
$temparray['city'] = $_POST['city'][$k]; 
$temparray['state'] = $_POST['state'][$k]; 
$temparray['zip'] = $_POST['zip'][$k]; 
$new_address_array[] = $temparray; 
} 

$final['addtional_address']=$new_address_array; 

print_r($final); 
+0

周杰倫今晚與freebees! –

+0

沒問題,所以你可以保證我每個字段的索引都會匹配每次? – LordZardeck

+0

Yups它必須!我有經驗! – jaym