Hi,
ich habe ein <select multiple>-Feld dessen selektierte Einträge nach einem Form-Error wieder vorselektiert werden sollen.
Um die bereits selektierten Werte zu ermitteln, vergleiche ich jeden Wert für das Select-Feld mit dem $_POST[]-Array mittels array_search(). Leider wird der erste Wert der selektiert wurde nicht übernommen, sondern nur alle ausser der erste?!? Im POST-Array sind jedoch alle enthalten.
Hier der Code:
PHP-Code:
// GAA Regionen ermitteln
$objResults = $objDb->Execute("SELECT DISTINCT gaa_region FROM ".__TBL_STAMMDATEN__." ORDER BY gaa_region ASC");
$intCountDate = $objResults->RecordCount();
$arrRegionen = array();
for ($intI = 1; $intI <= $intCountDate; $intI++) {
$arrRegionen[$intI]['region'] = $objResults->fields['gaa_region'];
// Bei Fehler werden markierte Regionen gefiltert und zur erneuten Markierung in das Array gepackt
if (isset($_POST['user_regionen'])) {
if (array_search($objResults->fields['gaa_region'], $_POST['user_regionen']) != false) {
$arrRegionen[$intI]['selected'] = "1";
}
else $arrRegionen[$intI]['selected'] = "0";
}
$objResults->MoveNext();
}