2014-12-31 29 views
1

我的表格有幾個領域,其中三個與數字中選擇選項從1到5HTML表單,我們將根據規則在PHP響應(如果)

比方說,我有以下選擇:

$Cake= intval($_POST["Cake"]); 
$Candy= intval($_POST["Candy"]); 
$Box= intval($_POST["Box"]); 

那麼,怎樣才能讓我FO上述字段值的數量,如下返回響應:

//Box has 1 selected and Cake has 2 selected 

    array_push($box,array("paxType" => "Cake"), array("paxType" => "Cake")); 

//Box has 2 selected and Cake has 3 selected and Candy has 1 selected 

    array_push($box,array("paxType" => "Cake"), array("paxType" => "Cake")); 
    array_push($box,array("paxType" => "Cake"), array("paxType" => "Candy")); 

等。

我知道,我需要計數公式和如果規則如下(其不正確BU我eneter它顯示了一些什麼,我需要做的)

if (count($Box) == 2 count($Cake) == 4) 
    array_push($box,array("paxType" => "Cake"), array("paxType" => "Cake")); 
    array_push($box,array("paxType" => "Cake"), array("paxType" => "Cake")); 

每個方塊必須包含2個蛋糕和最多2個糖果。 Ex1

  • 搜索:BOX - > 2;蛋糕 - > 4
  • 結果:BOX(1) - > 2蛋糕; BOX(2) - > 2 蛋糕;

練習2

  • 搜索:BOX - > 2;蛋糕 - > 4;糖果 - > 1
    • 結果:BOX(1) - > 2蛋糕; BOX(2) - > 2蛋糕和糖果 - > 2;

我怎樣才能得到這個工作的化妝? 非常感謝您的時間,祝您新年快樂。

+0

不應該在比較操作中使用==而不是單個=嗎?請參考以下鏈接瞭解更多信息:[link](http://php.net/manual/en/language.operators.comparison.php) – sfewfed

+0

您的if語句在您的兩個計數測試之間還缺少邏輯運算符。我無法弄清楚你正在努力完成什麼......但是你需要在兩者之間有一個&&或者'||'。除此之外,請編輯以解釋您正在嘗試做什麼...... – Mooseknuckles

回答

0

你需要使用==而不是=來比較,你也需要添加一個與 像下面

if ((count($Box) == 2) and (count($Cake) == 4)) 
+0

並且我應該在此之前使用for表達式嗎? –

+0

不,只是嘗試像這樣使用它,並告訴我它是否有效 –

0

您可以使用此代碼,請嘗試實現自己的目標,讓我知道,如果您有任何疑慮

$Cake_count= intval($_POST["Cake"]); 
$Candy_count= intval($_POST["Candy"]); 
$Box_count= intval($_POST["Box"]); 

$box_array = array(); 
for($i=0;$i<$Box_count;$i++) 
{ 
    for($j=0;$j<$Cake_count;$j++) 
    { 
     $box_array[$i][] = array("paxType" => "Cake"); 
    } 

    for($k=0;$k<$Candy_count;$k++) 
    { 
     $box_array[$i][] = array("paxType" => "Candy"); 
    }  
} 
+0

謝謝,它以某種方式工作。如果我發送2盒和3個蛋糕,我會收到2個盒子的回覆,每個盒子包含3個蛋糕 –

+0

@RazvanGeorge這就是你想要的結果嗎? –

+0

如果我選擇2盒和3個蛋糕,我需要得到的結果:第一盒包含2個蛋糕,第二盒包含1個蛋糕。所以每盒不超過3個蛋糕和2個糖果,並且 –