Mailinglisten-Archive |
Hallo Leute, trotz des herrlichen Wetters draussen und des vielen Sonnelichts komme ich nciht weiter. Bei einer "Sicherheitsfrage" werden geänderte Felder wie folgt für die UPDATE-Funktion aufbereitet: <snip> foreach ($WerteArr as $Key => $kVal) { $Tabelle.= '<input type="hidden" name="SET[]" value="'; $Tabelle.= base64_encode($Key.'@'.$kVal).'">'."\r\n"; } </snip> "SET[]" einfach, damit ich alle mit einem Rutsch verarbeiten kann (s.u.). Beim endgültigen Sichern sollen bestimmte $Key extra verarbeitet werden. So hier alles, was nciht mit "INV" zu tun hat: <snip> /* $SET = Felder zu ändern in Form Schlüssel at Wert $dSET = zerlegtes $SET, Schlüssel in $dSET[0], Wert in $dSET[1] $cSET = Anzahl der Felder $mSET = MySQL UPDATE-SET $sSET = 1 sofern Schlüssel "INV" enthält sonst 0 */ $SET = decode_base64($_POST['SET']); $cSET = count($SET); $mSET = ''; for ($x = 0; $x < $cSET; $x++) { $dSET = explode('@', $SET[$x]); $sSET = substr_count($dSET[0], 'INV'); if (empty($sSET)) { if ($dSET[0] == 'KND_NR') $dSET[0] = 'kunnr'; if ($dSET[0] == 'VERKAEUFER') $dSET[0] = 'an'; $mSET.= strtolower($dSET[0]).' = "'.$dSET[1].'"'; if ($x + 1 < $cSET) $mSET.= ', '; else $mSET.= ' '; } } </snip> Es bleibt aber immer noch ein Komma übrig. Geändert wurden 3 Felder (2x anderes, 1x Bzgl. "INV"). "UPDATE fibu_db.probleme SET kunnr = "4711", problem = "Das...", WHERE lfd_nr = 1". Gibt es da noch eine passende Möglichkeit oder muss ich es doch mit "str_replace()" entfernen? Vielen Dank für eure Tipps schonmal. -- Mit freundlichen Grüßen / Kind regards Steffen Kother
php::bar PHP Wiki - Listenarchive