私は PHP でページネーションを行っており、次のページと前のページの SUBMIT ボタンを持っているため、ユーザーが 1 ページで 2 つの値をチェックすると、それをセッション変数に保存し、戻ってきたときに値を使用in_array
してエコーアウトします。しかし、ユーザーがチェックを外した場合、配列の値を設定解除するにはどうすればよいですか? ユーザーがチェックボックスをオフにした場合、セッション配列の値を設定解除できません。
私の説明は非常に明確だと思いますが、それでもここよりもコードが必要な場合は
if(!empty($_POST['rec_num'])) {
if(empty($_SESSION['checks_selected_for_records'])) {
//If session array is empty than directly add all record numbers in
//this session
$_SESSION['checks_selected_for_records'] = $_POST['rec_num'];
}
//If a new value is seen and is not in array than add it
foreach ($_POST['rec_num'] as $check_rec_num) {
if(!in_array($check_rec_num, $_SESSION['checks_selected_for_records'])) {
array_push($_SESSION['checks_selected_for_records'], $check_rec_num);
}
}
}
//Handle Redirects For Pagination
if (isset($_POST['next_page']) || isset($_POST['last_page']) || isset($_POST['first_page']) || isset($_POST['previous_page'])) {
if(isset($_POST['next_page_link'])) {
redirect_to($_POST['next_page_link']);
} elseif (isset($_POST['last_page'])) {
redirect_to($_POST['last_page_link']);
} elseif (isset($_POST['first_page'])) {
redirect_to($_POST['first_page_link']);
} elseif (isset($_POST['previous_page'])) {
redirect_to($_POST['previous_page_link']);
}
}