Как создать массив полей id с результатом значения флажка - PullRequest
0 голосов
/ 06 июля 2011

Я итеративно строю таблицу, которая включает информацию о пользователях для ряда пользователей и флажок для обновления поля состояния для каждого пользователя. Псуедо-код от моего контроллера:

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

Массив $ data передается в представление, в котором построена таблица со списком пользователей с флажком рядом с каждым. Администратор может установить флажок по имени пользователя, чтобы обновить его статус в базе данных.

В моей функции отправки я могу построить массив, который содержит имя пользователя и связанный статус (значение флажка).

К вашему сведению: я использую Codeigniter, PHP5.2, MAMP

1 Ответ

1 голос
/ 06 июля 2011
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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...