我想动态地使用PHP构建下拉菜单。这个想法是:元素是从一个调用和数组的循环中形成的。如果数组元素与会话中保存的数据相匹配,那么它会将“selected”属性添加到标记,这意味着该页面显示先前选择的选项。使用PHP函数使用数组创建动态下拉菜单:下拉不填充
我试图在这里包含一组完整的代码,从定义会话数据的变量到回应表单元素的HTML。
它目前不工作 - 显示下拉菜单,但是为空,并且没有选项。我用ideone调试过它,它似乎运行成功,并且我看不到错误,但是这是我的第一个PHP函数!所以我敢肯定我搞砸了:)
任何帮助非常感谢。
<?php
session_start();
//if the session data has been set, then the variable $sv_02 is defined
//as the data held in the session under that name, otherwise it is blank
if (isset($_SESSION['sv_02'])) {$sv_02=$_SESSION['sv_02'];} else {$sv_02="";}
//define the array
$dm_sv_02 = array('-Year','-2012','-2011','-2010','-2009');
//create the function
function dropdown($dropdownoptions, $session_data)
{
foreach($dropdownoptions as $dropdownoption){
if($session_data == $dropdownoption){
echo '<option value="' . $dropdownoption . '" selected>' . $dropdownoption . '</option>';
} else {
echo '<option value="' . $dropdownoption . '">' . $dropdownoption . '</option>';
}
}
}
//echo the HTML needed to create a drop down, and populate it with
//the function which should create the <option> elements
echo '<select name="sv_02">';
dropdown($dm_sv_02, $sv_02);
echo '</select>';
?>
我猜这只是代码的一部分,但你有session_start();在原始代码中的<?php之后? – 2012-07-14 01:41:10
啊是的 - 好点,应该提到的是:我有我的所有页面作为一个包括的PHP。谢谢!我将编辑我的帖子 – Gideon 2012-07-14 06:37:49
如果您查看生成的页面的来源,您会得到什么? – 2012-07-14 07:32:11