Open dtpop opened 9 years ago
Wenn ein Feld als select_sql Feld angelegt wird, so kann man nach diesem Feldinhalt in der Liste nicht suchen, obwohl das Feld "als Suchfeld aufnehmen" markiert wurde.
class.xform.select_sql.inc.php um diesen Code ergänzen:
public static function getSearchField($params) { $qry = $params['field']->getElement('query'); $sql = new rex_sql(); $sql->setQuery($qry); $res = $sql->getArray(); $options = array('' => '---'); foreach ($res as $l) { $options[$l['id']] = $l['name']; } $params['searchForm']->setValueField('select', array( 'name' => $params['field']->getName(), 'label' => $params['field']->getLabel(), 'options' => $options )); } public static function getSearchFilter($params) { $value = $params['value']; $field = $params['field']->getName(); if ($value == '(empty)') { return ' (`' . mysql_real_escape_string($field) . '` = "" or `' . mysql_real_escape_string($field) . '` IS NULL) '; } elseif ($value == '!(empty)') { return ' (`' . mysql_real_escape_string($field) . '` <> "" and `' . mysql_real_escape_string($field) . '` IS NOT NULL) '; } $pos = strpos($value, '*'); if ($pos !== false) { $value = str_replace('%', '\%', $value); $value = str_replace('*', '%', $value); return ' `' . mysql_real_escape_string($field) . "` LIKE '" . mysql_real_escape_string($value) . "'"; } else { return ' `' . mysql_real_escape_string($field) . "` = '" . mysql_real_escape_string($value) . "'"; } }
Hat mir geholfen. Wäre dankbar, wenn so etwas eingebaut werden könnte.
Wenn ein Feld als select_sql Feld angelegt wird, so kann man nach diesem Feldinhalt in der Liste nicht suchen, obwohl das Feld "als Suchfeld aufnehmen" markiert wurde.
class.xform.select_sql.inc.php um diesen Code ergänzen:
Hat mir geholfen. Wäre dankbar, wenn so etwas eingebaut werden könnte.