我有一个Select / Combo Box,用于选择要在页面上显示的记录数。为了覆盖全部'选项我在值字段中传递ID和选择的数字。
<?php //get info for results per page combo box //
$stmt = $db->prepare("SELECT resultspp.ID, resultspp.NumberResults FROM resultspp");
$stmt->execute();
$rows2 = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows2 as $row) {
if ($pageID !=$row['ID']) { ?>
<option value="<?php echo $row['ID']; ?>|<?php echo $row['NumberResults']; ?>"><?php echo $row['NumberResults']?></option>
<?php } else { ?>
<option value"<?php echo $row['ID'];?>|<?php echo $row['NumberResults']; ?>" selected><?php echo $row['NumberResults']?></option>
<?php }
}
?>
这一切正常,发布了正确的值,使用print_r($ _ POST)进行检查。但是,当在页面上提交另一个按钮时,它会向用户发布显示的选项,不值标签中的值。我通过将所选选项更改为常量来检查此项。
在帖子之后,这些值会被解压缩。
<?php
if($_POST['resultsPP']){
$pageresult = explode('|', $_POST['resultsPP']);
$pageID = $pageresult[0];
if ($pageresult[1] == 'All'){
$number_select = $totalRecords;
} else {
$number_select = $pageresult[1];
}
}
?>
提前致谢
答案 0 :(得分:1)
你错过了&#34; =&#34;登录你的代码。以下是更新的代码。这导致发布选项而不是发布值。
.........
else { ?>
<option value="<?php echo $row['ID'];?>|<?php echo $row['NumberResults']; ?>" selected><?php echo $row['NumberResults']?></option>
<?php }
.......