Yii,从另一个文件创建列表数据


Yii, creating a listdata from a different file

我想制作一个ListData,它将包含来自不同文件而不是DB的内容,我将从中获取数据的文件将类似于:

1=>Usa
2=>France
3=>Italy
4=>Spain
5=>Venezuela
etc..

这样做的目的是制作一个下拉列表,显示国家项目,但其保存数据将只是所选国家的id。。

我知道如何制作下拉列表,但我不确定ListData,我正在学习编程,很抱歉问了这么一个荒谬的问题。

请帮忙。

ListData用于将查询或模型的结果转换为数组,其格式如下:'ID'=>'DESCRIPTION'。这个新数组就是您需要填充的下拉列表、复选框列表、列表框。。。

如果您已经有一个包含该格式值列表的文件,为什么不解析该文件并直接创建数组呢?

有很多这样的存储和读取数据的选项。如果你想坚持使用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);
?>