zendビューヘルパーのformSelect()関数を使用してデータベーステーブルからすべてのフラグ(またはタグと呼ぶ)値を取得するドロップダウンメニューがありますが、値は配列形式で表示されます。必要なのはフラグ値の名前だけです。
ドロップダウンメニューを表示するためのビューphtmlファイル内のコードは次のとおりです。
<td><?php echo $this->formSelect('flag_id', null, null, $this->aFlags); ?> </td>
フラグメソッドは次のクラスにあります。
class App_Flags extends App {
public $rows = array(iPropertyID);
public function __construct() {
parent::__construct();
}
public function getPropFlags() {
$flag_tcid = 4;
$oSql = new Db_Table_Flags();
$oSelect = $oSql->select();
$oSelect->from(array('f' => 'flags'),array('value' => 'flag_name'));
$oSelect->where('flag_type_category = ?', $flag_tcid);
$rowCount = count($oSelect);
if ($rowCount > 0) {
echo "found $rowCount rows";
} else {
echo 'no rows matched the query';
}
$result = $oSql->fetchAll($oSelect)->toArray();
return $result;
}
ドロップダウンメニューには、次のように値が表示されます。
0
flag name
1
another flag name
2
flag name again
3
flag name here
ドロップダウンに配列キーを表示したくありません。旗の名前だけが必要です。formSelect()の最初のパラメーターは無視されているようですが、これに従って配列をプルします。
string formSelect(string | array $ name、[mixed $ value = null]、[array | string $ attribs = null]、[array $ options = null]、[string $ listsep = "
\ n"])string | array $ name:文字列の場合、要素名。配列の場合、他のすべてのパラメーターは無視され、追加されたパラメーターの代わりに配列要素が抽出されます。
または、getPropFlags()でクエリを設定する方法である可能性があります。何が間違っているのかわかりません。私はこれをしばらく見ていて、アイデアが不足しています。どんな助けでも素晴らしいでしょう。