public function formatElement() { $name = $this->getFieldName(); $qry = 'SELECT ' . $this->labelField . ',' . $name . ' FROM ' . $this->table->getTableName() . ' WHERE 1=1'; if ($this->whereCondition != '') { $qry .= ' AND (' . $this->whereCondition . ')'; } // Im Edit Mode das Feld selbst nicht als Position einfügen if ($this->table->isEditMode()) { $qry .= ' AND (' . $name . '!=' . $this->getValue() . ')'; } $qry .= ' ORDER BY ' . $name; $sql = rex_sql::factory(); $sql->setQuery($qry); $this->select->addOption(rex_i18n::msg($this->firstOptionMsg), 1); $value = 1; foreach ($sql as $opt) { $value = $opt->getValue($name) + 1; $this->select->addOption(rex_i18n::rawMsg($this->optionMsg, $opt->getValue($this->labelField)), $value); } if (!$this->table->isEditMode()) { $this->select->setSelected($value); } return parent::formatElement(); }
function formatElement() { global $I18N; $name = $this->getFieldName(); $qry = 'SELECT ' . $this->labelField . ',' . $name . ' FROM ' . $this->table->getTableName() . ' WHERE 1=1'; if ($this->whereCondition != '') { $qry .= ' AND (' . $this->whereCondition . ')'; } // Im Edit Mode das Feld selbst nicht als Position einfügen if ($this->table->isEditMode()) { $sql = $this->table->getSql(); $qry .= ' AND (' . $name . '!=' . $this->getValue() . ')'; } $qry .= ' ORDER BY ' . $name; $sql = rex_sql::factory(); $sql->setQuery($qry); $this->select->addOption($I18N->msg($this->firstOptionMsg), 1); while ($sql->hasNext()) { $this->select->addOption($I18N->msg($this->optionMsg, $sql->getValue($this->labelField)), $sql->getValue($name) + 1); $sql->next(); } return parent::formatElement(); }