Вы не можете использовать имя таблицы для переменной, вам нужно будет это сделать:
DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT * from yourtable'
EXEC (@sqlCommand)
//на основе вышеупомянутого - простая функция для добавления скрытого элемента к форме $this
/**
* Add Hidden Element
* @param $field
* @param value
* @return nothing - adds hidden element
* */
public function addHid($field, $value){
$hiddenIdField = new Zend_Form_Element_Hidden($field);
$hiddenIdField->setValue($value)
->removeDecorator('label')
->removeDecorator('HtmlTag');
$this->addElement($hiddenIdField);
}
Как упоминалось в других сообщениях setDisableLoadDefaultDecorators (true)
не работает, если они уже загружены ... НО clearDecorators ()
работает!
вот что takeme2web из http://www.phpfreaks.com/forums/index.php?topic=225848.0 предлагает
$ yourhiddenzendformelement-> setDecorators (array ('ViewHelper'));
От Декораторы Элемента Зенда документация:
Декораторы По умолчанию не должны быть Загружены
По умолчанию, декораторы по умолчанию загружаются во время объектной инициализации. Можно отключить это путем передачи 'disableLoadDefaultDecorators' опции конструктору:
$element = new Zend_Form_Element('foo', array('disableLoadDefaultDecorators' => true) );
Я не мог заставить disableLoadDefaultDecorators работать совершенно верно. Вот решение, которое я предложил.
$hiddenIdField = new Zend_Form_Element_Hidden('id');
$hiddenIdField->setValue($portalId)
->removeDecorator('label')
->removeDecorator('HtmlTag');
В HTML, скрытое поле появляется без любых дополнительных тегов вокруг этого.
...
<dt><label for="password" class="required">Password</label></dt>
<dd><input type="password" name="password" id="password" value="" /></dd>
<input type="hidden" name="id" value="1" id="id" />
...
Я использую это
$element->removeDecorator('DtDdWrapper');
для избавлений от dt dd тегов вокруг определенных элементов