2016-03-18 30 views
-2
for ($i = 0; $i < count($name); $i++) 
    { 
    //some output ommited 

     <td><input type='submit' value='Purchase' name='$name[$i]'></td></tr>"; 
    } 

$名稱[$ i] = 1,名稱2,名稱3,名稱4,NAME5,name6

現在,一旦按鈕被點擊,這是我應該展示的。

if (isset($_REQUEST['name1'])) {echo "name1 selected";} 
if (isset($_REQUEST['name2'])) {echo "name2 selected";} 
if (isset($_REQUEST['name3'])) {echo "name3 selected";} 
if (isset($_REQUEST['name4'])) {echo "name4 selected";} 
if (isset($_REQUEST['name5'])) {echo "name5 selected";} 
if (isset($_REQUEST['name6'])) {echo "name6 selected";} 

我有選擇在數據庫中啓用或禁用任何名稱。如果name3被禁用,則$i的順序/順序將會改變。我無法顯示所需參數w.r.t $i

對於〔實施例我想顯示,與NAME3禁用:

if (isset($_REQUEST['name4'])) { 
    echo "$name[4] selected, kind is $kind[4] kind and type is $type[4]"; 
} 

與NAME3禁用,NAME4將從NAME5

2顯示值:

如何獲得請求的價值觀$ name [$ i]

for loop() { 
    if (isset($_REQUEST['$name[$i]'])) {echo "name1 selected";} 
} 

幫我設備一個算法得到值o f $i,這樣即使訂單受到干擾,我也應該知道$i正在攜帶哪個值。

+1

這是僞代碼,*右薩姆?* –

+0

@弗雷德-II-,,好吧,那是僞代碼。 –

回答

1

首先,你必須Concat的$iname獲得唯一的名字:

for ($i = 0; $i < count($name); $i++) 
{ 
    echo "<td><input type='submit' value='Purchase' name='$name . $i'></td></tr>"; 
} 

如果$name是 「名」,那麼你將得到 「NAME1」, 「NAME2」, 「NAME3」 等

然後你可以print_r($_REQUEST);查看提交的項目。

你並不需要一個for循環,看看哪個項目的設置,但如果你通過請求數組要循環,你可以做這樣的事情:

foreach($_REQUEST as $post_var) 
{ 
    if('name' == substr($post_var, 0, 4)) 
    { 
     echo $post_var . ' '; 
    } 
} 

結果:

名1名2 NAME3

+0

如果(isset($ _ REQUEST ['name1'])){echo「name1 selected」;} ....代碼 –

+0

中提及的值正確傳遞....如何使用$ name ..if(isset( $ _REQUEST ['$ name [$ i]'])){echo「name1 selected」;} –

+0

A.您從未指出過,然後2.然後您在問什麼? –