【发布时间】:2014-01-07 14:37:54
【问题描述】:
需要从数据库中读取不同的工作(例如,工作 1、工作 2、工作 3、...工作 n)并将它们放置在表单上,以便用户通过复选框选择用户喜欢的工作,如图所示以下。
- ( ) 工作 1 描述1,
- (X) 工作 2 描述2
- (X) 工作 3 描述3
- :
- :
- ( ) 职位 N 描述N
鉴于作业数量可能太多而无法显示单个页面,因此采用了分页,以便将整个表单分解为页面数。要求是即使用户浏览此表单的不同页面,用户在给定页面上的复选框选择也必须具有粘性。如何实现这一目标。
如果 JQuery 可以用来简化任务,请给我演示一下。
我使用以下代码:
function selected($job_id)
{
if (empty($_POST['job_selection'])) || (!is_array($_POST['job_selection'])) || (!in_array($job, $_POST['job_selection'])) {
return '1';
}
return 'checked';
}
$q10 = "SELECT ...
$r10 = mysqli_query ($dbc, $q10);
if (mysqli_num_rows($r10) > 0) {
while ($row10 = mysqli_fetch_array($r10, MYSQLI_ASSOC))
{
if (isset($_POST['job_selection'])){
$jid = $row10['job_id'];
echo '<td align="left"><p class="normal_text"><input type="checkbox" name="job_selection[]" value="' . $row10['job_id'] . '" selected($jid) />' . $row10['job_name'] . '</p></td>';
}
else
{
echo '<td align="left"><p class="normal_text"><input type="checkbox" name="job_selection[]" value="' . $row10['job_id'] . '" />' . $row10['job_name'] . '</p></td>';
}
}
}
问题在于,当通过单击页码浏览页面时,表单不一定已提交 - 因此,$_POST['job_selection'] 将为空。
【问题讨论】:
-
也许您可以提供您正在使用的相关代码...
-
为什么不能根据类别对作业进行分组?您可以根据类别进行筛选。无需将表单分成一页以上。
-
不,要求是将表单分成包含多个相同类型复选框的页面数。考虑一个示例,用户必须从众多车型中选择首选车型。