我想创建一个ListData,它将包含来自不同文件而不是DB的内容,我将从中获取数据的文件将是:
1=>Usa
2=>France
3=>Italy
4=>Spain
5=>Venezuela
etc..
这样做的目的是制作一个显示国家项目的DropdownList,但其保存数据只是来自所选国家的ID ..
我知道如何制作DropdownList,但我不确定ListData,即时通讯学习编程,很遗憾地提出这样一个荒谬的问题。
请帮忙。
答案 0 :(得分:1)
ListData用于将查询或模型的结果转换为具有如下格式的数组:'ID'=>'DESCRIPTION'。 并且您需要填充下拉列表,复选框列表,列表框......
如果您已经有一个包含该格式的值列表的文件,为什么不解析该文件并直接创建该数组?
答案 1 :(得分:0)
有很多选项可以存储和读取这样的数据。如果你想坚持PHP,你可能会做这样的事情:
protected / data / listdata.php(或其他地方):
<?php
return array(1 => 'USA', 2 => 'France', 3 => 'Italy', 4 => 'Spain'); // etc.
// Consider using zero-based indices. (0 => USA, 1 => France ...)
// Zero-based notation would look like this:
// return array('USA', 'France', 'Italy', 'Spain'); // etc.
?>
protected / views / index.php(或其他地方):
<?php
$listdata = require_once('../data/listdata.php');
echo CHtml::dropDownList('Countries', 'USA', $listdata);
?>