2011-07-05 100 views
0

我正在迭代構建一個包含多個用戶的用戶信息的表以及一個用於更新每個用戶的狀態字段的複選框。從我的控制器僞代碼:如何使用複選框值創建ID字段數組

foreach ($vols as $vol) 
{ 
    $data['user_name'][] = $vol->username; 
    $data['status'][] = '<input type="checkbox" name="signupStatus" /> confirm '; 
} 

$ data數組被傳遞到一臺內置顯示一個複選框用戶列表旁邊的每個視圖。管理員可以通過用戶名來檢查該框,以便更新其在數據庫中的狀態。

在我的提交函數中,如何構建一個包含用戶名和相關狀態的數組(複選框值)。

FYI:我使用的是笨,PHP5.2,甲基苯丙胺

+0

在您的示例代碼中,沒有顯示任何用戶標識。用戶標識如何與複選框相關聯? – hakre

+0

也許如果你解釋你想要做什麼。爲什麼你的複選框的值是0?爲什麼數組的複選框部分是HTML? – Cfreak

+0

@hakre @Cfreak - 實際的用例比可能有用的更復雜 - 也許這說明了我正在嘗試做什麼? – starsinmypockets

回答

1
foreach ($vols as $vol) 
{ 
    $rows[$i][] = //account info here 
    $rows[$i][] .= '<input type="checkbox" name="signupStatus['.$vol['id'].']" value = "0" /> confirm '; 
    // not sure where your user ID is, but I tried to guess :-) 
} 


// in receiving script: 
// you will receive array of only those ids that were checked, so 
$update_users = array_keys($_POST['signupStatus']); 
// will give you an array of userids that were checked 

當然,你不應該忘記,使它們只包含數字過濾它們。像

foreach ($update_users as $key => &$userid) { 
    if (($userid = intval($userid)) <= 0) { 
     unset($update_users[$key]); // silently do nothing with anything we didn't expect 
    } 
} 
+0

是的,我認爲這就是我要找的 - 謝謝! – starsinmypockets

相關問題