簡體   English   中英

如何從視圖中獲取數組值(Codeigniter)

[英]How to get array values from view (Codeigniter)

我想請您幫忙解決我的問題。 謝謝您的幫助。 我的問題是我在視圖中有兩個輸入類型,它們是數組( <input type='text' name='cost[]'> and <input type='text' name='price[]'> ) 兩種輸入類型都在foreach語句中。 假設有3條記錄的數據庫表中的foreach。 因此,從Web瀏覽器的角度來看,它要求用戶為每條記錄在成本和價格字段中輸入3次。 在我的控制器中,我想比較以下用戶輸入

-price[1] cannot be more than cost[1] 
-price[2] cannot be more than cost[2]
-price[3] cannot be more than cost[3]

通過使用if else語句。 我將如何在控制器中進行編碼,以使price [1]僅與cost [1]比較,price [2]僅與cost [2]比較,price [3]僅與cost [3]比較。以下是我在控制器中的代碼,但無法正常工作。

 $cost = $this->input->post('cost');
 $price = $this->input->post('price');

if ($price > $cost)
{ 
  echo "Rejected";
}
else
{
  echo "Accepted";
}

您將需要遍歷所有值。 我的Codeigniter有點生銹,但我認為$ cost和$ price都應該是數組。 像這樣一些簡單的東西;

foreach ($price as $key => $value) {
    if ($value > $cost[$key] ) {
        echo "Rejected";
    } else {
        echo "Accepted";
    }
}

如果您希望所有內容都有效,則可以中斷第一個被拒絕的值。 否則,您將遍歷所有對象並警告用戶無效的對象?

請嘗試下面的代碼。

對於演示: 演示URL

<?php 


//$cost = $this->input->post('cost');
//$price = $this->input->post('price');

//Suppose I have added dummy values in these variable as you received from view.

$cost = array(1,2,3);
$price = array(3,4,1);

//as you mentioned each one cost have price like $cost zero index compared with $price zero index. 

$i = 0;
foreach($cost as $cos){

  if ($price[$i] > $cos)
  { 
    echo "Rejected";
  }
  else
  {
    echo "Accepted";
  }
  $i++;
}

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM