2011-04-15 18 views
0

我有一個腳本,其中jQuery克隆了一個帶有建築物,地板和翼的fieldset框(輸入字段)用戶可以根據需要創建儘可能多的這些字段集。我想弄清楚的是這個。PHP的foreach與jQuery動態克隆字段

我需要把這些區域放在一起,否則我可以像這樣通過aray循環。

foreach ($_POST[$key] as $itemvalue)  { 
     $message .= "\n".$key. " : ".$itemvalue; 
     } 

我首先想到的是要做到這一點,當然,這是愚蠢的我

foreach ($_POST['building'] as $value) { 
    $count++; 
    $message .="\n Area" . $count; 
    $message .= "\n Building: ". $value; 
    foreach ($_POST['floor'] as $value2){ 
    $message .= "\n Floor: ". $value2; 
     } 
    foreach ($_POST['wing'] as $value3){ 
    $message .= "\n Wing: ". $value3; 
     } 
    } 

,因爲它只是最終把各樓層和翅膀的每個建築物下,而不是讓他們分開。

我的下一個想法是把它們放到一個long中,每個分隔符和& &符號,但顯然foreach不能這樣工作。

有沒有人對我如何做到這一點有任何建議?

@stewie我做了你所建議的修改,但我很肯定這是行不通的。

foreach ($_POST['floor'] as $value) 
    { $floor = $value; } 
foreach ($_POST['wing'] as $value2) { $wing = $value2; } 
foreach ($_POST['building'] as $value3) 
    { $building = $value3; $building .= $floor; $building .= $wing; } 

這是我整個的代碼,我試圖讓輸出是這

區#1 大樓:1號樓 樓層:2 榮:東

區#2 大廈:2號樓 樓層:5 Wing:North

<?php 
if(isset($_POST['submit'])) { 

$mailto = "[email protected]"; 
$subject = "form"; 
$message = "Values submitted from web site form:"; 
$header = "From: Jeremiah <[email protected]>"; 

foreach ($_POST['floor'] as $value) 

{

$floor = "\nFloor : " . $value; 
} 

foreach ($_POST['wing'] as $value2) 
{ 
$wing = "\nWing : ".$value2; 
} 

foreach ($_POST['building'] as $value3) 
{ 
$building = "\n\nBuilding " . $value3; 
$building .= $floor ; 
$building .= $wing; 
$message .= $building; 
} 




mail($mailto, $subject, $message, $header); 
} 

?>

+0

這裏有什麼問題嗎?這段代碼工作正常嗎?你得到了什麼輸出,你想要什麼輸出? – 2011-04-15 19:18:23

+0

你嘗試過編輯嗎? – Stewie 2011-04-15 19:56:03

+0

@stewie,@rocket我已經發布了整個腳本和我試圖實現的一個例子。 – jeremiah 2011-04-15 20:17:53

回答

1

髒,但保持了原來的設計!

foreach ($_POST['building'] as $value) { 
     $count++; 
     $message ="\n Area" . $count; 
     $message .= "\n Building: ". $value; 
     $message2=''; 
     foreach ($_POST['floor'] as $value2){ 
     $message2 .= "\n Floor: ". $value2; 
      } 
     foreach ($_POST['wing'] as $value3){ 
     $message2 .= "\n Wing: ". $value3; 
      } 
    echo $message; 
    echo $message2; 
      } 

     } 

你應該做的是這樣的:

foreach(floor){set $floor} 
foreach(wing) {set $wing} 

主要的foreach

foreach(building) 
{ 
    $building = ... 
    $building .= $floor 
    $building .= $wing 
} 
+0

我很抱歉,我是PHP新手,我沒有關注。我仍然需要一種方法在一個領域下加入每個組。假設我有一個叫做區域的區域,每個區域下面都有建築物,地板和機翼。 – jeremiah 2011-04-15 19:32:21

+0

看到我的編輯,我爲你提供了一個更好的方式。 – Stewie 2011-04-15 19:44:29

+0

@jeremiah,Stewie,請參閱編輯問題。 – Potatoswatter 2011-04-15 19:52:45