写CMS遇到的下拉列表问题
这几天练习CI做一个CMS后台,在添加栏目下拉列表时遇到了一个并不影响运行的PHP错误,一直没解决,故想到拿来和大家一起讨论,请高手给看看,先表示感谢了!是一个二级栏目添加问题:
我在控制器中写有一条获取数据库内容的语句:
$data['getnav']=$this->Mcms->get_nav();
调用模型Mcms.php中的方法get_nav(),将返回的数据存入数组变量$data['getnav']
视图文件createcate.php接收传来的变量$getnav
通过print_r($getnav);看到其内容如下(给大家提供参考):
Array
(
=> Array
(
=> 1
=> 教育技术应用
)
=> Array
(
=> 2
=> PHP网站设计
)
=> Array
(
=> 4
=> 多媒体技术应用
)
=> Array
(
=> 5
=> 程序设计语言
)
=> Array
(
=> 6
=> PHPer的生活趣事
)
=> Array
(
=> 7
=> 胡乱加一个栏目
)
=> Array
(
=> 8
=> 再来一个栏目
)
)
为了能使用CI的form_dropdown('nav',$opt);将栏目名name的值放到一个下拉列表中,我需要把这个数组中mid的值作为一个新数组的索引,我这样构造新数组:
foreach($getnav as $row)
{
$opt[$row['mid']] .= $row['name'];
}
print_r($opt);显示:
Array
(
=> 教育技术应用
=> PHP网站设计
=> 多媒体技术应用
=> 程序设计语言
=> PHPer的生活趣事
=> 胡乱加一个栏目
=> 再来一个栏目
)
这正是我所需要的!(但报错了,如果有其他办法实现这一步也是我请求帮忙之所在)
应用到下拉列表中也很成功:
echo form_open('admin/createcategory');
echo form_dropdown('nav',$opt);
echo form_input('name');
echo form_submit('','创建');
echo form_close();
生成的Web页完全符合预期的要求:源代码中“栏目名称和栏目id(这里是value的值)是一一对应的”,(栏目id=3是我事先有意删除的):
<form action="http://localhost/ci_/index.php/admin/createcategory" method="post">
<select name="nav">
<option value="1">教育技术应用</option>
<option value="2">PHP网站设计</option>
<option value="4">多媒体技术应用</option>
<option value="5">程序设计语言</option>
<option value="6">PHPer的生活趣事</option>
<option value="7">胡乱加一个栏目</option>
<option value="8">再来一个栏目</option>
</select>
<input type="text" name="name" value=""/>
<input type="submit" name="" value="创建"/>
</form>
一切都那样的如愿,可是非常遗憾的是他同时报错,诸如下面的七个无效索引错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: 5
Filename: admin/createcate.php
Line Number: 7
既然有错,为什么还正常运行,这个错误怎样排除或修改?
有没有别的好办法,使我能用两个数组的元素值构造出一个新数组(即:新数组的键值是其中一个数组的元素值,新数组的元素值是另一个数组的元素值)
请高手帮着解决或出招修改一下。 $opt[$row['mid']] .= $row['name'];等号前面多了一个点,会不会是这个?还有,头像是你本人吗 ls正解,眼睛够毒辣:lol 很佩服沙发的毅力看了这段代码。lz的问题虽然很明确但是字太多了~帮顶 回复 2# lcnphp
感谢你耐心地、仔细的研读,“.=”是没差的。我发完这个贴,又将这部分构造新数组的代码拿到外面(脱离CI环境)测试是没有任何问题的。
向年轻人学习,愿与青年人为伍。头像是我本人,如果缺少幽默感,回头我换一个。 感谢两位的帮助,问题得到解决. 向你学习,终身学习,学习终身,学习让人年轻 怎么解决的分享下
页:
[1]