2013-11-22 49 views
0

我希望做一個的ListData將包含從不同的文件,而不是數據庫的內容創建的ListData,從那裏我去得到數據的文件將是這樣的:Yii的,從不同的文件

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

的這個porpuse是使一個下拉列表,將顯示國家的項目,但其保存的數據將是剛剛從所選國家一ID ..

我知道如何讓下拉列表,但我不知道ListData,即時學習編程,很抱歉提出這樣一個荒謬的問題。

請大家幫忙。

回答

1

ListData用於將查詢或模型的結果轉換爲像這樣的格式的數組:'ID'=>'DESCRIPTION'。 而這個新陣列是你需要填充一個下拉列表,複選框列表,列表框...

如果你已經有一個文件的格式值的列表,爲什麼你不解析文件並創建數組直接?

0

有很多選項可用於存儲和讀取這樣的數據。如果你想堅持到PHP,你可能會做這樣的事:

保護/數據/ 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. 
?> 

保護/視圖/ index.php文件(或某處其他):

<?php 

$listdata = require_once('../data/listdata.php'); 
echo CHtml::dropDownList('Countries', 'USA', $listdata); 

?>